【JDBC】数据库连接池
每一次 连接-释放 都要占用资源Spring JDBC:JDBC Template(简化JDBC编程)数据库连接池:容器(集合),存放数据连接的容器。当系统初始化好后,容器被创建,容器中会申请一些连接对象。当用户来访问数据库时,从容器中获取连接对象,用户访问完之后,会将连接对象归还给容器。好处:节约资源,高效标准接口:DataSource获取连接:getConnection(),由数据库厂商实现归
·
每一次 连接-释放 都要占用资源
Spring JDBC:JDBC Template(简化JDBC编程)
数据库连接池:容器(集合),存放数据连接的容器。
当系统初始化好后,容器被创建,容器中会申请一些连接对象。当用户来访问数据库时,从容器中获取连接对象,用户访问完之后,会将连接对象归还给容器。
好处:节约资源,高效
标准接口:DataSource
获取连接:getConnection(),由数据库厂商实现
归还连接:如果连接对象Connection是从连接池中获取的,Connection.close()表示归还连接
C3P0:数据库连接池技术
Druid:数据库连接池实现技术,阿里巴巴提供,高效
C3P0数据库连接池:
导入jar包:
定义配置文件:c3p0.properties或者c3p0-config.xml
路径:直接放在src目录下
代码:
Druid数据库连接池:
导包:
添加配置文件xml:需要手动加载
连接数据库
Druid工具类:
public class JDBCUtils1 {
private static DataSource ds;
static {
Properties properties=new Properties();
try {
properties.load(new FileReader("C:\\Users\\暮色年华\\IdeaProjects\\untitled5\\src\\durid.properties"));
ds= DruidDataSourceFactory.createDataSource(properties);
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
public static Connection getConnection() throws SQLException {
return ds.getConnection();
}
public static void close(Statement st, Connection ct){
if(st!=null){
try {
st.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(ct!=null){
try {
ct.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
public static void close(ResultSet rs, Statement st, Connection ct){
if(rs!=null){
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
close(st,ct);
}
public static DataSource getDataSource(){
return ds;
}
}
更多推荐
已为社区贡献1条内容
所有评论(0)