JNDI
JDNI 的全称是java命名与目录接口(java Naming and Directory Interface),是一个有关应用程序设计的API,为开发人员提供了查找和访问各种命名和目录服务的通用,统一的接口;
我们可以把JNDI简单地理解为是一种将对象和名字绑定的技术,即指定一个资源名字,将该名称与某一资源或服务相关联,当需要访问其他组件和资源时,就需要使用JNDI服务进行定位,应用程序可以通过名字获取对应的对象或服务;
JNDI案例:
步骤一:在项目环境当中找到Servers找到对应的Tomcat,找到context.xml,配置如下信息 <!-- JNDI name代表JNDI的名称 value代表对应存储的数据 type代表value的数据类型--> <Environment name="jnditest" value="王洪德" type="java.lang.String"/> 步骤二:访问数据 //步骤一:创建一个Context对象 Context context=new InitialContext(); //步骤二:通过lookup方法去获取JDNI String value=(String)context.lookup("java:comp/env/jnditest");连接池:
数据库连接池负责分配,管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不再是重新建立一个;释放那些空闲时间超过最大空闲时间的数据库连接,以避免由于没有释放数据库连接而引起的数据库连接泄露,提高对数据库操作的性能;
配置步骤一:在项目环境当中找到Servers找到对应的Tomcat,找到context.xml,配置如下信息 <Resource name="jdbc/news" auth="Container" type="javax.sql.DataSource" maxActive="100" maxIdle="30" maxWait="10000" username="root" password="root" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://127.0.0.1:3306/newsmanagersystem? useUnicode=true&characterEncoding=utf-8" /> 步骤二:配置数据源加载,在BaseDao中修改了getConnection()的方法 public Connection getConnection() { try { //步骤一:通过Context获取数据源 Context context=new InitialContext(); //步骤二:获取数据源 DataSource dataSource=(DataSource)context.lookup("java:comp/env/jdbc/news"); try { //步骤三:获取链接 conn=dataSource.getConnection(); } catch (SQLException e) { e.printStackTrace(); } } catch (NamingException e) { e.printStackTrace(); } return conn;
}