JSDI——实现数据库连接池(JDBC改进)
一、将驱动jar包放到服务器(例如tomcat)目录下的lib包中,让服务器自动管理数据库连接
二、在项目根中的META-INF文件夹中,建立context.xml文件,其中需要配置数据源
1 <?xml version="1.0" encoding="UTF-8"?> 2 <Context> 3 <Resource name="jdbc/oracle" 4 auth="Container" 5 type="javax.sql.DataSource" 6 7 username="scott" 8 password="123" 9 url="jdbc:oracle:thin:@localhost:1521:orcl" 10 driverClassName ="oracle.jdbc.driver.OracleDriver" 11 12 maxIdle="2" 13 maxWait="5000" 14 maxActive="4" 15 /> 16 </Context>
其中:maxIdle(最大空闲连接数量,若超出则关掉一个连接);maxWait(最大等待时间,超过后报给用户不能取得连接);maxActive(最大连接用户数)
三、在数据库工具类的getConnection()方法中,利用JNDI技术提取到数据库连接
1 //1.上下文 2 Context context; 3 Connection conn = null; 4 try { 5 context = new InitialContext(); 6 //2.根据数据源名称,找DataSource : 数据源名称语法格式: java:comp/env/ + context.xml中配置的name值 7 DataSource ds = (DataSource)context.lookup("java:comp/env/jdbc/oracle"); 8 //3.获取连接 9 conn = ds.getConnection(); 10 return conn;