利用jdbc连接池(利用jdni)

时间:2022-09-19 23:04:46

简介

 前段时间用jdbc连接池,在这里记录下

1、利用jdni配置数据源

在Web项目的META-INF文件夹中新建context.xml文件,内容为:

<?xml version="1.0" encoding="UTF-8"?>
<Context>
<Resource name="jdbc/myDataSource"
auth
="Container"
type
="javax.sql.DataSource"
driverClassName
="com.mysql.jdbc.Driver"
url
="jdbc:mysql://localhost:3306/testDB"
username
="jacky"
password
="admin"
maxActive
="20"
maxIdle
="10"
maxWait
="10000"/>
</Context

这种方式就不会依赖于tomcat,此外还可以在tomcat的conf目录下context.xml配置数据源

2、在web项目的web.xml添加如下配置

<resource-ref>
<description>JNDI DataSource</description>
<res-ref-name>jdbc/myDataSource</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>

3、测试

package org.gsfan.db;

import java.sql.Connection;
import java.sql.SQLException;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;

public class DBConnect {
private Connection connection = null;
public DBConnect()
{

}

public Connection getConnection() {
try {
connection
= getConnectionUseJNDI();
}
catch (NamingException e) {
e.printStackTrace();
}
catch (SQLException e) {
e.printStackTrace();
}
return connection;
}

public Connection getConnectionUseJNDI() throws NamingException, SQLException{
Context ctx
= new InitialContext();
DataSource ds
= (DataSource) ctx.lookup("java:comp/env/jdbc/myDataSource");
Connection conn
= ds.getConnection();
return conn;
}
}
    }
}