首页 > 技术文章 > JSDI——实现数据库连接池(JDBC改进)

ccw95 2016-11-06 12:55 原文

一、将驱动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;

 

推荐阅读