数据库连接池的基本概念与使用步骤

数据库连接池概念

数据库连接池负责分配管理和释放数据库连接,它允许应用程序重复使用一个数据库连接,而不是重新建立一个,这项技术能明显提高对数据库操作的性能。

开源数据库连接池

C3P0连接池的使用步骤

1.导包
c3p0-0.9.5.2.jar
mchange-commons-java-0.2.12.jar
2.导入配置文件到src目录下

<c3p0-config>
  <!-- 使用默认的配置读取连接池对象 -->
  <default-config>
  	<!--  连接参数 -->
    <property name="driverClass">com.mysql.jdbc.Driver</property>
    <property name="jdbcUrl">jdbc:mysql://192.168.93.128:3306/db14</property>
    <property name="user">root</property>
    <property name="password">root</property>
    
    <!-- 连接池参数 -->
    <property name="initialPoolSize">5</property>
    <property name="maxPoolSize">10</property>
    <property name="checkoutTimeout">3000</property>
  </default-config>

  <named-config name="otherc3p0"> 
    <!--  连接参数 -->
    <property name="driverClass">com.mysql.jdbc.Driver</property>
    <property name="jdbcUrl">jdbc:mysql://localhost:3306/db15</property>
    <property name="user">root</property>
    <property name="password">root</property>
    
    <!-- 连接池参数 -->
    <property name="initialPoolSize">5</property>
    <property name="maxPoolSize">8</property>
    <property name="checkoutTimeout">1000</property>
  </named-config>
</c3p0-config>

3.创建C3P0连接池对象

//创建C3P0数据库连接对象
        ComboPooledDataSource dataSource = new ComboPooledDataSource();

4.通过连接池对象获取数据库连接

Connection con = dataSource.getConnection();

5.执行测试操作

String sql="SELECT * FROM student";

        PreparedStatement pst = con.prepareStatement(sql);
        ResultSet rs = pst.executeQuery();
        while (rs.next()){
            System.out.println(rs.getInt("sid")+"\t"+rs.getString("name")+"\t"+rs.getInt("age")+"\t"+rs.getDate("birthday"));
        }
        DataSourceUtils.close(con,pst,rs);

Druid数据库连接池的使用步骤

1.导入jar包
druid包 + MySQL驱动
2.编写配置文件,放在src目录下

driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql://192.168.93.128:3306/db14
username=root
password=root
# 初始化连接数量
initialSize=5
# 最大连接数量
maxActive=10
# 超时时间
maxWait=3000

3.通过properties集合加载配置文件

//创建utils类,定义静态代码块加载配置文件
static {
        try {
            InputStream is = DruidTest1.class.getClassLoader().getResourceAsStream("druid.properties");

            //1.通过Properties集合,加载配置文件
            Properties prop=new Properties();
            prop.load(is);
            

4.通过Druid连接池工厂类获取数据库连接池对象

//2.通过Druid连接工厂类获取数据库连接池对象
            dataSource = DruidDataSourceFactory.createDataSource(prop);
        }catch (Exception e){
            e.printStackTrace();
        }
    }

5.获取数据库连接使用

public static  Connection getConnection(){
        Connection con=null;
        //3.通过连接池对象获取数据库连接进行使用
        try {
            con = dataSource.getConnection();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return con;
    }

猜你喜欢

转载自blog.csdn.net/weixin_42478562/article/details/106762517