接触过很多的数据库连接池,有d3p0,druid,都比较nb,不过需要引入一些大的jar包,而且有一些相关的jar包也经常忘记。于是,对于简单的应用,可以自己写一个连接池看看,而且对于数据库连接池的基本原理可以清楚一点。
本示例代码就是基于这样的想法自己写的,是几年前就写了,而且关键核心代码还是来自网上的,不过加上了一个新的模板方法,和之前的一个帖子关于jedis的操作的模板类差不多,也是对模板模式的另一个应用。
初学者可以了解到:
1.数据库连接池原理
2.模板模式
3.不需要引用第三方jar包,除了jdbc的包,就可以使用的一个连接池.
使用方法举例:
package brightmoon.test; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; import brightmoon.jdbc.DataHandler; import brightmoon.jdbc.MyDbUtil; public class DbTemplateTest { public static void main(String[] args) throws SQLException { MyDbUtil db = new MyDbUtil(); int test = (int) (Double.parseDouble("" + Math.random() * 1000000)); //添加数据 db.updateRecords("insert into hh values(" + test + "," + System.currentTimeMillis() + "," + System.currentTimeMillis() + ")"); //更新数据 db.updateRecords("update hh set something = 44 where id = " + test); //查询列表 List ans = db.queryList("select * from hh", new DataHandler() { @Override public void processRow(ResultSet rs) throws SQLException { Object[] objs = new Object[2]; objs[0] = rs.getString(1); objs[1] = rs.getString(2); addRecord(objs); } }); System.out.println(ans.size()); //参数化添加数据 List arg = new ArrayList(); arg.add(Integer.parseInt("123")); arg.add("2222"); String sql = " insert into comments values(?,?)"; db.updateRecords(sql, arg); } public static String notBlank(Object obj) { if (obj == null) return ""; return obj.toString(); } }
DBPoolManager.java核心代码来自网上收藏,出处也找不到了,这个小工程很早就开始使用了,现在才整理出来。
仅仅是小玩意,欢迎demo工程使用本程序。高手请绕道。
相关推荐
对于多应用共享同一数据库的系统而言,可在应用层通过数据库连接的配置,实现数据库连接池技术。某一应用最大可用数据库连接数的限制,避免某一应用独占所有数据库资源。 在较为完备的数据库连接池实现中,可根据...
C# 数据库连接池 C# 数据库连接池 C# 数据库连接池 C# 数据库连接池
* 数据库连接池特点: * 获取连接时不需要了解连接的名字,连接池内部维护连接的名字 * 支持多线程,保证获取到的连接一定是没有被其他线程正在使用 * 按需创建连接,可以创建多个连接,可以控制连接的数量 * 连接...
数据库连接池的例子.doc数据库连接池的例子.doc数据库连接池的例子.doc
context.xml, 数据库连接池配置文
C#高效数据库连接池源码
达梦7数据库连接池,jdbcDriver,达梦7数据库连接池,jdbcDriver,达梦7数据库连接池,jdbcDriver,达梦7数据库连接池,jdbcDriver,达梦7数据库连接池,jdbcDriver,达梦7数据库连接池,jdbcDriver,
这个文档详细讲述了mysql数据库连接池的配置以及数据库连接池的工作原理。
Tomcat5的数据库连接池配置Tomcat5的数据库连接池配置Tomcat5的数据库连接池配置Tomcat5的数据库连接池配置Tomcat5的数据库连接池配置Tomcat5的数据库连接池配置Tomcat5的数据库连接池配置Tomcat5的数据库连接池配置...
提供了数据库连接池的驱动,分别有c3p0、druid、dbcp三种数据库连接池的驱动
数据库连接池 数据库连接池 数据库连接池 数据库连接池
Druid为监控而生的数据库连接池,它是阿里巴巴开源平台上的一个项目。Druid是Java语言中最好的数据库连接池,Druid能够提供强大的监控和扩展功能.它可以替换DBCP和C3P0连接池。Druid提供了一个高效、功能强大、可...
数据库连接池的基本思想就是为数据库连接建立一个“缓冲池”。预先在缓冲池中放入一定数量的连接, 当需要建立数据库连接时,只需从“缓冲池”中取出一个,使用完毕之后再放回去。 我们可以通过设定连接池最大连接数...
比较实用的几种数据库连接池详细配置,值得收藏
收集了常见的数据库连接jar包,包括oracle、mysql、sql server、db2、opta、dbcp连接池、c3p0连接池等等常见的数据库jar包,不断更新中。
数据库连接池的基础学习,针对mysql数据库的数据库连接池在java中的具体实现及应用配置
数据库连接池,连接数过多
c#语言下,使用netcore2.1框架,调用netstandard数据库连接池组件
JAVA 使用数据库连接池连接Oracle数据库,全代码,附加详细说明