- 连接池的实现
一般来说,Java应用程序访问数据库的过程是:
① 装载数据库驱动程序;
② 通过jdbc建立数据库连接;
③ 访问数据库,执行sql语句;
④ 断开数据库连接。
编写连接池需实现方法,定义了Connection getConnection()方法用于连接池实现和close()方法用于关闭连接。
实现连接池功能的步骤
① 首先编写db.properties数据库配置文件
② 在UtilDemo类中实现创建与数据库的连接,并把创建的连接加入LinkedList对象中。
③ 实现getConnection方法,让getConnection方法每次调用时,从LinkedList中取一个Connection返回给用户
④ 当用户使用完Connection,调用Connection.close()方法时,
Collection对象应保证将自己返回到LinkedList中,而不要把conn还给数据库。Collection保证将自己返回到LinkedList中是此处编程的难点。
编写db.properties数据库配置文件如下:
数据库连接池核心代码如下:
public class UtilDemo {
private static String url=null;
private static String username=null;
private static String password=null;
private static String driver=null;
static{
try {
Properties pro=new Properties();
//在静态代码块中加载db.properties数据库配置文件
InputStream in=UtilDemo.class.getClassLoader()
.getResourceAsStream(“jdbc.properties”);
pro.load(in);
url=pro.getProperty(“url”);//路径
username=pro.getProperty(“username”);//数据库登录名
password=pro.getProperty(“password”);//数据库登录密码
driver=pro.getProperty(“driver”);//驱动
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static Connection getConnection(){
Connection conn=null;
try {
Class.forName(driver);//加载数据库驱动
//获取数据库链接
conn=DriverManager.getConnection(url, username, password);
} catch (SQLException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
return conn;
}
//用于关闭流
public static void close(Connection conn,PreparedStatement ps,ResultSetre){
try {
if (re!=null) {
re.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
try {
if (ps!=null) {
ps.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
try {
if (conn!=null) {
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
Java 数据库连接池的实现
最新推荐文章于 2022-11-06 19:22:24 发布