> 文档中心 > 数据库连接池C3P0和Druid的使用方法

数据库连接池C3P0和Druid的使用方法


数据库连接池

什么是数据库连接池?

  • 可以存储数据库连接对象的池子,就是一个容器,里面装有数据库连接对象
  • 连接池:提供了一种池子思想,数据库连接池,线程池…

数据库连接池有什么用?

  • 使用数据库连接池,避免了重复的来回创建Connection对象。因为数据库连接池提供一个池子,里面已经提前准备好了一些连接对象,如果我们用直接从池子中取,用完归还到池子中即可。
  • 节省时间,节约资源。

自定义简单的数据库连接池?

public class MySimpleConnectionPool {private static LinkedList<Connection> pool = new LinkedList<>(); static {try {for(int i = 1; i <= 5; i++) {//获取数据库连接对象Connection conn = JdbcUtils.getConnection();//将连接对象放入到pool里pool.add(conn);}} catch(Exception e) {System.out.println("数据库连接池初始化失败~");}}//2.提供获取数据库连接对象的方法public static synchronized Connection getConnection() {if(pool.size() > 0) {return pool.removeFirst();}throw new RuntimeException("对不起,池子中啥都没有了~");}//3.提供归还数据库连接对象的方法public static void close(Connection conn) {pool.addLast(conn);}}

第三方提供的数据库连接池?

  • C3P0, Druid
  • SUN公司提供了一个数据库连接池的接口:DataSource
    获取数据库连接对象:getConnection()
    归还数据库连接对象:close()
  • 注意:如果Connection对象是通过DriverManager.getConnection()获取到的话,调用close()就是释放资源
    如果Connection对象是通过数据库连接池获取到的话,调用close()就是归还

C3P0数据库连接池?

  • 使用配置文件的版本:
1. 导入jar包c3p0-0.9.5.2.jarmchange-commons-java-0.2.12.jar2. 拷贝配置文件c3p0-config.xml3. 创建数据库连接池对象DataSource dataSource = new ComboPooledDataSource();4. 获取数据库连接对象Connection conn = dataSource.getConnection();5. 归还数据库连接对象conn.close();
  • 不使用配置文件的版本:
1.导入jar包c3p0-0.9.5.2.jarmchange-commons-java-0.2.12.jar2.创建数据库连接池对象ComboPooledDataSource dataSource = new ComboPooledDataSource();3.配置各个参数dataSource.setDriverClass("com.mysql.jdbc.Driver");dataSource.setJdbcUrl("jdbc:mysql://localhost:3306/database");dataSource.setUser("root");dataSource.setPassword("123");4.获取数据库连接对象Connection conn = dataSource.getConnection();5.归还数据库连接对象conn.close();

Druid数据库连接池?

  • 使用配置文件的版本:
1.导入jar包druid-1.0.9.jar2.拷贝配置文件druid.properties3.创建数据库连接池对象Properties p = new Properties();p.load(Demo01.class.getClassLoader().getResourceAsStream("druid.properties"));DataSource dataSource = DruidDataSourceFactory.createDataSource(p);4.获取数据库连接对象Connection conn = dataSource.getConnection();5.归还数据库连接对象conn.close();
  • 不使用配置文件的版本:
1.导入jar包druid-1.0.9.jar2.创建数据库连接池对象DruidDataSource dataSource = new DruidDataSource();3.配置参数信息dataSource.setDriverClassName("com.mysql.jdbc.Driver");dataSource.setUrl("jdbc:mysql://localhost:3306/database");dataSource.setUsername("root");dataSource.setPassword("123");4.获取数据库连接对象Connection conn = dataSource.getConnection();5.归还数据库连接对象conn.close();

数据库连接池C3P0和Druid的使用方法 创作挑战赛 数据库连接池C3P0和Druid的使用方法 新人创作奖励来咯,坚持创作打卡瓜分现金大奖MSDN工具下载