java对比数据库_对比不同的数据库连接的异同

博主在学习和使用数据库连接时,遇到的问题, 这个几个数据库连接究竟有什么不同? 到底什么时候该使用哪个会更好一点? 带着这个问题我们先去了解常见的数据库连接 1. 常见的数据库连接有哪些? 在我们初期学习,使用数据库时,用的最多的莫过于MySQL,简单概括MySQL优点 ①开源的关系型数据库 ②存储的数据可以按照需求保存在表中,更加灵活 ③安全系数相对较高 ④到达一定数据量,可以分布集群 以上这几个优点足以让他在数据库界站住脚 那么我们连接MYSQO最常使用的连接就有以下几个了 C3P0_properties C3P0-config_xml dbcp_properties 总结就是c3p0的两个版本和一个dbcp版本 2. 究竟有什么异同? C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。 DBCP(DataBase connection pool),数据库连接池。是 apache 上的一个 java 连接池项目,也是 tomcat 使用的连接池组件。

DBCP:

008fb94685a4b1b57117c57f2a813127.png C3P0_properties:

c6cc1d9bd838e4038ee1c635dca3886d.png 对比图片我们发现似乎C3P0_properties更加简单,更加容易理解而目前使用它的开源项目有Hibernate,Spring等。 但是DBCP好像看起来代码更多更复杂一点而且单独使用dbcp需要3个包common-dbcp.jar,common-pool.jar,common-collections.jar 由于建立数据库连接是一个非常耗时耗资源的行为,所以通过连接池预先同数据库建立一些连接,放在内存中,应用程序需要建立数据库连接时直接到连接池中申请一个就行,用完后再放回去。

区别:二者都可以连接数据库,并且作CRUD操作,但是dbcp没有自动的去回收空闲连接的功能 c3p0有自动回收空闲连接功能两者主要是对数据连接的处理方式不同!C3P0提供最大空闲时间,DBCP提供最大连接数。 前者当连接超过最大空闲连接时间时,当前连接就会被断掉。DBCP当连接数超过最大连接数时,所有连接都会被断开,dbcp它的原理是维护多个连接对象Connection,在web项目要连接数据库时直接使用它维护的对象进行连接,省去每次都要创建连接对象的麻烦。提高效率和减少内存使用。 s3p0可以自动回收连接,dbcp需要自己手动释放资源返回。不过dbcp效率比较高。

3. 什么时候使用哪个会更好? 仔细品味图片描述

76167692f438c53e8660edf8d376998f.png

总结DBCP适用于spring整合的轻量级开发,更加方便灵活,而c3p0配hibernate开发是更加不错的搭配,但是最终还是要根据自己的开发实际需求去选择 随着时间的迁移,我们应该将多去了解druid,因为从性能配置,预缓存设置,和管理bean功能方面都是一个很不错的选择

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值