连接池
作者:互联网
池化技术:准备一些预先的资源,过来就是连接预先准备好的
最小连接数:10
最大连接数:15
等待超时:100ms
编写连接池,实现一个接口DataSource
开源数据源实现
DBCP
package com.study.day04;
import com.study.day02.utils.JdbcUtils;
import com.study.day04.utils.JdbcUtils_dbcp;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class TestDbcp {
public static void main(String[] args) {
Connection conn = null;
Statement st = null;
ResultSet rs = null;
try {
conn = JdbcUtils_dbcp.getConnection();//获取数据库连接
st = conn.createStatement();//获取SQL的执行对象
String sql = "INSERT INTO users(`id`,`name`,`password`,`email`,`birthday`)" +
"VALUES(4,'kuangshen','123456','2784234567@qq.com','2022-01-01')";
int i = st.executeUpdate(sql);
if(i>0){
System.out.println("插入成功!");
}
} catch (SQLException e) {
e.printStackTrace();
}finally {
JdbcUtils_dbcp.release(conn,st,rs);
}
}
}
C3P0
package com.study.day04;
import com.study.day04.utils.JdbcUtils_C3p0;
import com.study.day04.utils.JdbcUtils_dbcp;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class TestC3p0 {
public static void main(String[] args) {
Connection conn = null;
Statement st = null;
ResultSet rs = null;
try {
conn = JdbcUtils_C3p0.getConnection();//获取数据库连接
st = conn.createStatement();//获取SQL的执行对象
String sql = "INSERT INTO users(`id`,`name`,`password`,`email`,`birthday`)" +
"VALUES(5,'bajie','123456','2784234567@qq.com','2022-01-01')";
int i = st.executeUpdate(sql);
if(i>0){
System.out.println("插入成功!");
}
} catch (SQLException e) {
e.printStackTrace();
}finally {
JdbcUtils_C3p0.release(conn,st,rs);
}
}
}
Druid:阿里巴巴
使用了连接数据库连接池之后,我们在项目开发中就不需要编写连接数据库的代码了。
结论
无论使用什么数据源,本质还是一样的,DataSource接口不会变
标签:JdbcUtils,java,conn,sql,import,com,连接池 来源: https://www.cnblogs.com/doumingzhan/p/16117960.html