JSP数据库连接池实例

数据库连接池

传统的Web服务不断连接、关闭数据库,比较消耗性能。而连接池可以减少数据库的打开与关闭。
在这里插入图片描述
有了连接池,当服务端的请求传来时,不需要牵扯数据库的建立和关闭。

常见连接池:Tomcat - dbcp连接池、dbcp、c3p0

数据源:DataSource(javax.sql.DataSource)可用来管理连接池。

Tomat-dbcp的配置方法:

1.类似 JNDI,在 context.xml 中进行配置:

<Context>

	<Resource 
	auth="Container" 
	driverClassName="org.gjt.mm.mysql.Driver" 
	maxIdle="20" 
	maxTotal="100" 
	maxWaitMillis="5000" 
	name="jdbc/new" 
	username="root"
	password="root" 
	type="javax.sql.DataSource" 
	url="jdbc:mysql://localhost:3306/exp6?serverTimezone=UTC"/>

</Context>

这里注意:name自己定义一个,和下边要用到的一样 ,
username 、 password 是数据库的用户名和密码,
url 写自己的数据库的 url。

2.在WEB-INF / web.xml 中配置:

<?xml version="1.0" encoding="UTF-8"?>
<web-app 	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
			xmlns="http://xmlns.jcp.org/xml/ns/javaee" 
			xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" 
			id="WebApp_ID" version="3.1">
<resource-ref>
		<description>DB Connection </description>
        <res-ref-name>jdbc/new</res-ref-name>
        <res-type>javax.sql.DataSource</res-type>
        <res-auth>Container</res-auth>
</resource-ref>
</web-app>

注意:ref-name与上边对应,其他的一样。

3.使用数据源,更改 connection 的获取方式:

将传统的代码:

connection = DriverManager.getConnection(URL, USER, PASSWORD);

改为:


Context ctx = new InitialContext();	// context.xml

DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/new");	// 与前边对应

connection = ds.getConnection();

经过以上三步,数据库连接池应该就能用了。

但是,这里要说一个问题,又是让我纠结了好久找不到答案的问题。

报错:cannot create jdbc driver of class ‘’ for connect url 'null’

它说找不到我的数据库url,但是仔细查看以上三处代码,明明没问题呀。山重水复疑无路,柳暗花明又一村。最终还是找到了一篇能解决我的问题的博客

自己经过不断的摸索发现,遇到没见过的问题一定要细心思考多查博客,尽量不要问他人(因为他人也不会呀,问了也是浪费时间)。成功 Debug 也是索然无味的生活中的一丝丝乐趣呀。

说在最后的话:编写实属不易,若喜欢或者对你有帮助记得点赞+关注或者收藏哦~

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值