JSDI——实现数据库连接池(JDBC改进)

Posted 龙之天族

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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;

 

以上是关于JSDI——实现数据库连接池(JDBC改进)的主要内容,如果未能解决你的问题,请参考以下文章

JAVA基础:JDBC的使用 附详细代码

java代码实现数据源切换(连接池简单粗暴)

数据库连接池

JDBC,连接池及CRUD操作

JDBC连接池和Spring JDBC

数据库连接池与JDBC的区别