连接mysql8的dbcp配置文件_Tomcat8.5&Mysql8.0配置数据库连接池(DBCP)

本文介绍了如何在Tomcat 8.5和MySQL 8.0环境下配置DBCP数据库连接池。主要涉及修改`Context.xml`和`web.xml`文件,包括设置连接池参数、指定数据库驱动、URL及JNDI查找方式。同时,文章提到了MySQL驱动的版本变化以及在CLASSPATH中添加驱动jar包的重要性。
摘要由CSDN通过智能技术生成

DBCP(DataBase connection pool),数据库连接池。是 apache 上的一个 java 连接池项目,也是 tomcat 使用的连接池组件。由于建立数据库连接是一个非常耗时耗资源的行为,所以通过连接池预先同数据库建立一些连接,放在内存中,应用程序需要建立数据库连接时直接到连接池中申请一个就行,用完后再放回去。 --百度百科

开发环境eclipse_photon + Tomcat8.5.32 + mysql8.0

首先需要修改两个配置文件一个是Tomcat的conf/Context.xml,另一个是项目文件下的web.xml创建web项目时生成

Context.xml修改时在eclipse当中修改,否则由eclipse启动tomcat时会还原该文件,在标签下添加标签

WEB-INF/web.xml

${catalina.base}/conf/web.xml

maxTotal="100" maxIdle="30" maxWaitMillis="10000" username="root" password="111111"

driverClassName="com.mysql.cj.jdbc.Driver"

url="jdbc:mysql://127.0.0.1:3306/myschool?serverTimezone=GMT%2B8&useSSL=false" />

Resource标签属性

name:连接池名称,一般设定为jdbc/databasename

auth:设定控制权为容器,固定

type:数据类型,固定

maxTotal:最大活动连接数,在之前版本中是maxActive

maxIdle:最大空闲连接数

maxWaitMillis:最大空闲时间,在之前版本中是maxWait

userName:用户名

password:密码

dirverClassName:

MySQL6.0之后Driver名改为“com.mysql.cj.jdbc.Driver”,之前是“com.mysql.jdbc.Driver”。需要注意的是这里要在CLASSPATH中指定“mysql-connector-java-8.0.12.jar”文件的位置,否则会报错,提示driverClassName属性不能识别:

a.mysql-connector-java-8.0.12.jar复制到D:\env\apache-tomcat-8.5.32\lib下

b.在环境变量中设定CATALINA_HOME为tomcat路径“D:\env\apache-tomcat-8.5.32”;

c.CLASSPATH中添加%CATALINA_HOME%\lib;

url:

指定数据库连接ip和数据库名称

jdbc:mysql://127.0.0.1:3306/databaseName

对于MySQL5.*及之前版本只需写到此处就行,MySQL6.0及之后版本需要 指定服务器时区属性,设定useSSL属性等,个属性之间用&连接,在xml/html文件中&用&转义表示,应该写成:

jdbc:mysql://127.0.0.1:3306/databaseName?serverTimeZone=GMT%2B8&useSSL=false

修改web.xml文件

web.xml文件由eclipse创建项目时自动生成(需要在最后一步勾选生成web.xml),在web.xml中标签内添加

jdbc/myschool

javax.sql.DataSource

Container

指定资源名,资源类型,资源控制权限

通过JNDI(java naming and directory interface)在java类或jsp页面调用连接池中的连接,

Context context = new InitialContext();

DataSource ds=(DataSource)envContext.lookup("java:comp/env/jdbc/myschool");

Connection conn = ds.getConnection();

Statement sta = conn.createStatement();

String sql = "select * from Grade";

ResultSet rSet = sta.executeQuery(sql);

while(rSet.next()){

out.println(rSet.getString("GradeName"));

}

%>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值