1. druid数据库连接池
1.1定义
数据库连接池负责分类,管理和释放数据库连接,他允许应用程序重复使用一个现有的数据库连接,不用重复建立连接,避免因重复建立连接而浪费时间。这项技术能够明显提高对数据库操作的性能。
1.2 使用方式
引入Druid包,在配置文件中,按照规填写相关配置信息
创建properties对象读取配置文件信息,使用DruidDataSoureFactory.createDataSource(properties)方法,把数据库的各项参数传递给德鲁伊数据源工厂,从而创建一个连接池对象。
这样,每次需要连接的时候,就通过连接池获取连接对象,使用后通过close()方法将连接归还给连接池,避免了连接的重复创建。
1.3封装工具类
/**
* 数据库连接池
* @author Administrator
*
*/
public class DruidDataSource {
// 连接池
public static DataSource ds;
private DruidDataSource(){}
// 类加载的时候初始化连接池
static {
try {
// 加载配置文件
Properties prop = new Properties();
prop.load(ClassLoader.getSystemResourceAsStream("druid.properties"));
ds = DruidDataSourceFactory.createDataSource(prop);
} catch (Exception e) {
e.printStackTrace();
}
}
// 从连接池中获取连接对象
public static Connection getConnection() {
try {
return ds.getConnection();
} catch (SQLException e) {
e.printStackTrace();
}
return null;
}
// 获取数据源
public static DataSource getDataSource(){
return ds;
}
// 释放资源
public static void close(Connection conn, Statement stat, ResultSet rs) {
try {
if (rs != null) {
rs.close();
}
if (stat != null) {
stat.close();
}
if (conn != null) {
conn.close();
}
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
// 释放资源
public static void close(Connection conn, Statement stat) {
close(conn, stat, null);
}
}
1.4 maven引入依赖
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.2.9</version>
</dependency>
Comments NOTHING