数据库连接池

数据库连接池

什么是连接池
池:一个容器,在内存中的一片空间,用于存储程序中的数据。
连接池:将连接对象存放在一个容器中,当需要连接时,就直接从连接池中获取一个连接,进行使用。用完连接后,再将连接还回连接池中。

目的:减少连接创建和关闭的次数,实现连接的服用。

传统方式访问数据库

连接connection相当于一个通道,创建和关闭耗时间很多。在这里插入图片描述
在传统方式中,不使用连接池。每次需要创建一个连接进行使用,用完连接后直接关闭。对于数据库来说频繁的创建和关闭会非常消耗资源,而且耗费时间。会导致程序执行效率降低,连接也不会复用。

使用连接池访问数据库

在这里插入图片描述
可以在程序中创建一个池,在程序一启动时,就初始化一批连接放在连接池中。当用户需要连接时,就直接从池中拿一个连接进行使用。当连接用完后,也不要将连接关闭,而是将连接还回池中。下一个用户需要连接时,也是如此。可以减少连接创建和关闭的次数,提高执行效率和实现连接的复用。

如何使用连接池
  1. 在这里插入图片描述
    *后面跟了connect.close的意思是将连接还回连接池中。代码跟关闭代码没有区别。原因:如果连接对象是我们自己获取的连接对象,调用连接的close方法是将连接关闭还给数据库,但如果连接是从连接池中获取的连接对象,由于连接池将连接返回之前对连接对象进行了改造,将连接对象的方法改成了还连接到连接池中。同样调用了方法close,将close方法改变成了还连接返回连接池。

缺点:把所有的用户参数写死在程序里面。如果用户参数改变,要在程序里面改,然后再重新发布。

  1. 在原码目录(如src,都是source folder)下新建一个file(文件名固定c3p0.properties)。将来c3p0程序底层会自动的到指定位置(src源码目录或在相似的源码目录下)寻找指定名称文件(c3p0.properties)。如果可以找到文件可以读取文件中的配置,就可以连接上数据库。可以初始化一批连接放在连接池中。
c3p0.driverClass=com.mysql.jdbc.Driver
c3p0.jdbcUrl=jdbc:mysql://127.0.0.1:3306/demo1
c3p0.user=root
c3p0.password=zhjzhj945
  1. 在类目录下(src等 source folder下),添加一个c3p0-config.xml文件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值