连接池笔记

作者:@冰山醉酒
本文为作者原创,转载请注明出处:https://www.cnblogs.com/douFrank/p/16117960.html


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

最小连接数:10

最大连接数:15

等待超时:100ms

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

开源数据源实现

DBCP

1 package com.study.day04; 2 3 import com.study.day02.utils.JdbcUtils; 4 import com.study.day04.utils.JdbcUtils_dbcp; 5 6 import java.sql.Connection; 7 import java.sql.ResultSet; 8 import java.sql.SQLException; 9 import java.sql.Statement; 10 11 public class TestDbcp { 12 public static void main(String[] args) { 13 Connection conn = null; 14 Statement st = null; 15 ResultSet rs = null; 16 try { 17 conn = JdbcUtils_dbcp.getConnection();//获取数据库连接 18 st = conn.createStatement();//获取SQL的执行对象 19 String sql = "INSERT INTO users(`id`,`name`,`password`,`email`,`birthday`)" + 20 "VALUES(4,'kuangshen','123456','2784234567@qq.com','2022-01-01')"; 21 int i = st.executeUpdate(sql); 22 if(i>0){ 23 System.out.println("插入成功!"); 24 } 25 } catch (SQLException e) { 26 e.printStackTrace(); 27 }finally { 28 JdbcUtils_dbcp.release(conn,st,rs); 29 } 30 31 32 } 33 }

C3P0

1 package com.study.day04; 2 3 import com.study.day04.utils.JdbcUtils_C3p0; 4 import com.study.day04.utils.JdbcUtils_dbcp; 5 6 import java.sql.Connection; 7 import java.sql.ResultSet; 8 import java.sql.SQLException; 9 import java.sql.Statement; 10 11 public class TestC3p0 { 12 public static void main(String[] args) { 13 Connection conn = null; 14 Statement st = null; 15 ResultSet rs = null; 16 try { 17 conn = JdbcUtils_C3p0.getConnection();//获取数据库连接 18 st = conn.createStatement();//获取SQL的执行对象 19 String sql = "INSERT INTO users(`id`,`name`,`password`,`email`,`birthday`)" + 20 "VALUES(5,'bajie','123456','2784234567@qq.com','2022-01-01')"; 21 int i = st.executeUpdate(sql); 22 if(i>0){ 23 System.out.println("插入成功!"); 24 } 25 } catch (SQLException e) { 26 e.printStackTrace(); 27 }finally { 28 JdbcUtils_C3p0.release(conn,st,rs); 29 } 30 31 32 } 33 }

Druid:阿里巴巴

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

结论

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


__EOF__

本文作者冰山醉酒
本文链接https://www.cnblogs.com/douFrank/p/16117960.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   冰山醉酒  阅读(87)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
点击右上角即可分享
微信分享提示