Druid数据库连接池
步骤
1.导入jar包。
2.定义配置文件。properties文件,可以任意名称,任意位置。
文件格式例子为
driverClassName=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://127.0.0.1:3306/db
username=root
password=root
# 初始化连接数量
initialSize=5
# 最大连接数
maxActive=10
# 最大等待时间
maxWait=3000
3.获取数据库连接池对象:通过工厂来来获取 DruidDataSourceFactory。
4.获取连接:getConnection();
代码例子如下:
//创建Properties对象
Properties pro=new Properties();
//获取文件的字节输入流
InputStream is=DruidDemo01.class.getClassLoader().getResourceAsStream("druid.properties");
//加载文件
pro.load(is);
//获取数据库连接池对象
DataSource ds= DruidDataSourceFactory.createDataSource(pro);
//获取连接
Connection connection=ds.getConnection();
可以定义一个JDBCUtils工具类来快速方便的使用Druid数据库连接池
private static DataSource ds;
//静态代码块,用于加载配置文件,初始化连接对象
static {
try {
Properties pro=new Properties();
InputStream is=DruidDemo01.class.getClassLoader().getResourceAsStream("druid.properties");
pro.load(is);
ds= DruidDataSourceFactory.createDataSource(pro);
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
//获取连接的方法
public static Connection getConnection() throws SQLException {
return ds.getConnection();
}
//释放资源的方法
public static void close(ResultSet rs, Statement sttm,Connection coon){
if(rs!=null){
try {
rs.close();
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}
if(sttm!=null) {
try {
sttm.close();
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}
if(coon!=null) {
try {
coon.close();
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}
}
//释放资源的方法
public static void close(Statement sttm,Connection coon){
close(null,sttm,coon);
}
//获取连接池的方法
public static DataSource getDataSource(){
return ds;
}