• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

XDCPool: 数据库连接池框架

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

XDCPool

开源软件地址:

https://gitee.com/519401502/XDCPool

开源软件介绍:

数据库连接池XDCPool对连接提供了四种不同模式的管理,对于不同的访问量我们可以选择不同的管理模式,并且自动回收连接,我们先看下如何使用。

XDCPool使用起来非常简单,几乎零配置,看代码:

Deploy mDeploy = new Deploy()                .setUrl("jdbc:mysql://127.0.0.1")                 .setUser("root")                .setPassword("root")                //DriverClassName.MySQL是加载MySql的驱动字符串,当然我们也可以替换为“com.mysql.jdbc.Driver”                .setDriverClassName(DriverClassName.MySQL)                //设置缓存连接的数量                .setCacheSize(10)                //设置最大新建连接的数量                .setNewMaxSize(500)                //是否打印日志                .setCloseLog(true);XDCPool.init(mDeploy);

这就完成初始化了(初始化只需一次),通过链式调用进行配置,是不是很简单呢。

XDCPool为我们提供了简单的操作数据库的方法,分别是:

//查询操作XDCPool.delete(String sql,String[] indexs);//更新操作XDCPool.update(String sql,String[] indexs);//查询操作XDCPool.select(String sql,String[] indexs);//插入操作XDCPool.insert(String sql,String[] indexs);使用如下://删除操作XDCPool.delete("DELETE FROM ? WHERE id=?",new String[]{"student","1"});//更新操作XDCPool.update("UPDATE ? SET name = ? WHERE id = ?",new String[]{"student","张三","1"});//查询操作XDCPool.select("SELECT * FROM student",null);//插入操作XDCPool.insert("INSERT INTO student VALUES (?,?)",new String[]{"1","张三"});

当我们对数据库进行增删改查时尽量使用XDCPool为我们提供的这四种方法,因为它会自动回收我们的连接,也不需要我们手动进行关闭。

如果说我们想自己拿到连接进行处理,该怎么办呢?我们可以通过调用下面的方法拿到连接(注意使用完之后,务必调用XDCPool.release(mConnection)进行手动回收):

Connection mConnection = XDCPool.getConnection();如果你想随时查看连接池中的连接的数量,我们可以调用下面的方法:

//得到缓存池中的数量XDCPool.getCacheConnectionCount();//得到当前新建的连接的数量XDCPool.getNewConnectionCount();当然还有关闭连接池的方法:

XDCPool.closeConnectionPool();上面说过XDCPool有四种模式可以选择,这里怎么没有配置呢?其实模式的配备不需要我们手动设置,XDCPool会根据我们setCacheSize()方法和setNewMaxSize()自动匹配。

  1. 1、设置了缓存数量和最大新建连接数量:那么XDCPool在初始化时会新建我们指定的连接数量,当我们需要使用连接时随时可以拿到连接。当程序遇到高并发时,它会快速新建大量新的连接应付高并发,当然这是有限制的,新建的连接数受我们指定最大新建连接数的制约。
  2. 2、设置了缓存数量但没有设置最大新建连接数量:那么XDCPool在初始化时会新建我们指定的连接数量,并定期会检查连接是否可用,当我们的程序遇到高并发时,它会快速创建大量新的连接应付高并发(无限制)。当我们的程序恢复正常时,XDCPool保留指定的连接数量,多余的连接会替我们关闭。
  3. 3、设置了最大新建连接数量但没有设置缓存数量:那么XDCPool在初始化时不创建连接,当程序需要使用连接时会及时创建连接,连接使用完毕并不会被XDCPool及时关闭掉,它会保留一分钟,在这一分钟内,如果需要再次连接数据库,那么这个连接就会被复用。当我们的程序遇到高并发时,和模式1相同,它会快速创建大量新的连接应付高并发,但受我们指定最大新建连接数的制约。
  4. 4、没有设置最大新建连接数量和缓存的数量:那么XDCPool在初始化时不创建连接,当程序需要使用连接时会及时创建连接,连接使用完毕并不会被XDCPool及时关闭掉,它会保留一分钟,在这一分钟内,如果需要再次连接数据库,那么这个连接就会被复用。当我们的程序遇到高并发时,它会快速创建大量新的连接应付高并发(无限制)。

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap