栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JDBC / c3p0 连接池踩坑记录

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JDBC / c3p0 连接池踩坑记录

记录于2021年的最后一天,这是和数据库纠缠不休的一年。
基本环境:
jdk1.8
MyEclipse CI、tomcat 9.0.48
SQL Server 18.8、MySQL 8.0.26、c3p0 9.5.5

1. 没有合适的驱动

这个问题连接以上三个的时候都碰到过。

SQL Server有点忘了,当时还没开始用IDEA,连不上貌似是因为原来的MyEclipse版本比较低,不支持jdk1.8,于是换成了现在的版本。然后又因为web版本支持的问题把tomcat从7.0换成了现在的9.0。

MySQL的jdbc jar包要和环境完全匹配,而且8.0的驱动类名是com.mysql.cj.jdbc.Driver

MySQL 8.0需要9.5.2及以上的c3p0 jar包,而且要把c3p0的配置文件放在包的同级目录下,jdbcUrl中的配置项分隔符要用&。

不小心切了中文的话,c3p0打出来是“吃p”。

2. MySQLNonTransientConnectionException和CommunicationException

它们都来自MySQL。(多得你不少

解决方法:
(1) 在进行jdbc时保持MySQL服务开启,并且登录
(2) 延长MySQL的wait_timeout和interactive_timeout,均从默认的28800改为604800
(3) 在URL后添加"?"以及连接的配置项,包括将serverTimezone设置为UTC以将连接时区改为世界标准时间,将useSSL设置为false以停用SSL,将autoReconncet设置为true以实现自动连接,即:jdbc:mysql://127.0.0.1:3306/demodb?serverTimezone=UTC&useSSL=false&autoReconncet=true

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/692953.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号