邵东网站,什么是网站外部链接,名医工作室 网站建设,为代理网站做网站目录
连接池介绍 c3p0连接池
传统方法引入jar包
配置文件
德鲁伊连接池
德鲁伊工具类 传统jdbc数据库使用DriverManger来获取#xff0c;每次向数据库建立连接需要将Connection加载到内存中#xff0c;频繁的操作会造成占用很多系统资源#xff0c;造成服务器崩溃…目录
连接池介绍 c3p0连接池
传统方法引入jar包
配置文件
德鲁伊连接池
德鲁伊工具类 传统jdbc数据库使用DriverManger来获取每次向数据库建立连接需要将Connection加载到内存中频繁的操作会造成占用很多系统资源造成服务器崩溃每次连接完如果程序出现异常会造成数据泄露所以我们采用数据库连接池技术
连接池介绍
1.预先在缓存池中放入一定数量的连接当需要建立数据库时只需将缓存池中取出一个使用完毕后再放回
2.数据据库连接池负责分配管理和释放数据库连接他允许应用程序重复使用一个现有的数据库连接而不是建立一个
3.当应用程序向连接池请求的连接超过最大连接数量时这些请求将被加入到等待队列中 c3p0连接池
速度较慢但稳定性好
传统方法引入jar包
public void testC3P0_01() throws Exception {//1. 创建一个数据源对象ComboPooledDataSource comboPooledDataSource new ComboPooledDataSource();//2. 通过配置文件mysql.properties 获取相关连接的信息Properties properties new Properties();properties.load(new FileInputStream(src\\mysql.properties));//读取相关的属性值String user properties.getProperty(user);String password properties.getProperty(password);String url properties.getProperty(url);String driver properties.getProperty(driver);//给数据源 comboPooledDataSource 设置相关的参数//注意连接管理是由 comboPooledDataSource 来管理comboPooledDataSource.setDriverClass(driver);comboPooledDataSource.setJdbcUrl(url);comboPooledDataSource.setUser(user);comboPooledDataSource.setPassword(password);//设置初始化连接数comboPooledDataSource.setInitialPoolSize(10);//最大连接数comboPooledDataSource.setMaxPoolSize(50); Connection connection comboPooledDataSource.getConnection(); //这个方法就是从 DataSource 接口实现的connection.close();
}配置文件 public void testC3P0_02() throws SQLException {ComboPooledDataSource comboPooledDataSource new ComboPooledDataSource(db);Connection connection comboPooledDataSource.getConnection();connection.close();
}德鲁伊连接池
是阿里提供的数据库连接池集dbcpc3p0proxool优点于一身
public void testDruid() throws Exception {//1. 加入 Druid jar包//2. 加入 配置文件 druid.properties , 将该文件拷贝项目的src目录//3. 创建Properties对象, 读取配置文件Properties properties new Properties();properties.load(new FileInputStream(src\\druid.properties));//4. 创建一个指定参数的数据库连接池, Druid连接池DataSource dataSource DruidDataSourceFactory.createDataSource(properties);Connection connection dataSource.getConnection();connection.close();
}德鲁伊工具类
将数据库进行封装处理 public class JDBCUtilsByDruid {private static DataSource ds;//在静态代码块完成 ds初始化static {Properties properties new Properties();try {properties.load(new FileInputStream(src\\druid.properties));ds DruidDataSourceFactory.createDataSource(properties);} catch (Exception e) {e.printStackTrace();}}//编写getConnection方法public static Connection getConnection() throws SQLException {return ds.getConnection();}public static void close(ResultSet resultSet, Statement statement, Connection connection) {try {if (resultSet ! null) {resultSet.close();}if (statement ! null) {statement.close();}if (connection ! null) {connection.close();}} catch (SQLException e) {throw new RuntimeException(e);}}
}