其他分享
首页 > 其他分享> > 连接池

连接池

作者:互联网

池化技术:准备一些预先的资源,过来就是连接预先准备好的

最小连接数:10

最大连接数:15

等待超时:100ms

编写连接池,实现一个接口DataSource

开源数据源实现

DBCP

 package com.study.day04;
 ​
 import com.study.day02.utils.JdbcUtils;
 import com.study.day04.utils.JdbcUtils_dbcp;
 ​
 import java.sql.Connection;
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.sql.Statement;
 ​
 public class TestDbcp {
     public static void main(String[] args) {
         Connection conn = null;
         Statement st = null;
         ResultSet rs = null;
         try {
             conn = JdbcUtils_dbcp.getConnection();//获取数据库连接
             st = conn.createStatement();//获取SQL的执行对象
             String sql = "INSERT INTO users(`id`,`name`,`password`,`email`,`birthday`)" +
                     "VALUES(4,'kuangshen','123456','2784234567@qq.com','2022-01-01')";
             int i = st.executeUpdate(sql);
             if(i>0){
                 System.out.println("插入成功!");
            }
        } catch (SQLException e) {
             e.printStackTrace();
        }finally {
             JdbcUtils_dbcp.release(conn,st,rs);
        }
 ​
 ​
    }
 }

 

C3P0

 package com.study.day04;
 ​
 import com.study.day04.utils.JdbcUtils_C3p0;
 import com.study.day04.utils.JdbcUtils_dbcp;
 ​
 import java.sql.Connection;
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.sql.Statement;
 ​
 public class TestC3p0 {
     public static void main(String[] args) {
         Connection conn = null;
         Statement st = null;
         ResultSet rs = null;
         try {
             conn = JdbcUtils_C3p0.getConnection();//获取数据库连接
             st = conn.createStatement();//获取SQL的执行对象
             String sql = "INSERT INTO users(`id`,`name`,`password`,`email`,`birthday`)" +
                     "VALUES(5,'bajie','123456','2784234567@qq.com','2022-01-01')";
             int i = st.executeUpdate(sql);
             if(i>0){
                 System.out.println("插入成功!");
            }
        } catch (SQLException e) {
             e.printStackTrace();
        }finally {
             JdbcUtils_C3p0.release(conn,st,rs);
        }
 ​
 ​
    }
 }

 

Druid:阿里巴巴

使用了连接数据库连接池之后,我们在项目开发中就不需要编写连接数据库的代码了。

结论

无论使用什么数据源,本质还是一样的,DataSource接口不会变

标签:JdbcUtils,java,conn,sql,import,com,连接池
来源: https://www.cnblogs.com/doumingzhan/p/16117960.html