第二部分任务2连接数据库

又到周四,我们这一周的任务又要开始啦。这周的任务就是让我们的程序去连接数据库。有朋友可能会问,我们在第一部分的时候,不是用jsp去连接过数据库嘛?

不错,当时我们的代码是这样写的:

当用户每次请求到达服务器的时候,我们就创建一次数据库连接,然后获取一个Connection对象,然后再去执行我们的sql语句。

不过这样有几个问题:

1、每次都去连接,程序执行的效率不高:至少要有一次TCP三次握手+mysql协议确认;

2、连接数不可控:如果请求数太多,有可能造成大量的连接;

3、配置信息都在代码里,要修改配置就要去改代码;

4、如果连接断开了,程序还要去管理重新连接。

那为了解决上述的问题,我们在这次引入了数据库连接池。他的作用,就像是线程池一样,创建一系列的数据库连接然后他来保证连接的可用性。等需要的时候,就直接去这个池子里去获取。用完了,就将连接放回池子里,以便重复使用,而不用每次都去新建。

各个语言都有自己的连接池库,java语言常用的数据库连接池有dbcp、c3p0和proxool等。这些库的基本思想都类似的,老王选择了proxool。老王将这个库放到线上稳定运行很久了,所以大家不用担心稳定性和可用性。

====github地址====









































复旦大学附属肿瘤医院放射治疗中心ASTR
太多人没有熬过4655岁这段危险期为



转载请注明:http://www.xcqg58.com/lsqy/1659.html