JDBC连接池c3p0连接异常和日志处理
1.c3p0连接数据库由于时区没限制报出的错误
代码:
package C3P0;import com.mchange.v2.c3p0.ComboPooledDataSource;
import com.mchange.v2.log.ModifyLogLevel;
import org.junit.Test;import javax.sql.DataSource;
import java.sql.Connection;
import java.util.logging.Level;public class C3P0_test {public static Connection getConnection1() throws Exception{ComboPooledDataSource cpds = new ComboPooledDataSource();cpds.setDriverClass("com.mysql.cj.jdbc.Driver");cpds.setJdbcUrl("jdbc:mysql://localhost:3306/library");cpds.setUser("root");cpds.setPassword("123456");// cpds.setMaxPoolSize(100);Connection conn = cpds.getConnection();return conn;}public static void main(String[] args) throws Exception {System.out.println(getConnection1());/*DataSource cpds = new ComboPooledDataSource("helloc3p0");Connection conn = cpds.getConnection();System.out.println(conn);*/}
}
处理方式:需要在url后添加:?serverTimezone=UTC
处理后就能正常执行
八月啥不是在报错是代码执行报出的日志,处理方式在自己对应的项目下创建一个与日志同名的包,代码如下:
创建完成后,在对应的主方法中调用该方法就能完美处理日志(将调用部分放在代码块中优先执行)
遇见版本或字符集或时区问题处理方式:
url=jdbc:mysql://localhost:3306/library?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC&useSSL=falser如果只有其中一个问题取其一即可;如果问题都有全加上就能完美处理问题
2.C3P0采用配置文件连接数据库
如果在对应的xml文件中url后添加:?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC&useSSL=falser时需要添加转义字符:&
<?xml version="1.0" encoding="UTF-8"?>
<c3p0-config><named-config name="helloc3p0"><!-- 获取连接的4个基本信息 --><property name="user">root</property><property name="password">123456</property><property name="jdbcUrl">jdbc:mysql://localhost:3306/library?&useSSL=false&serverTimezone=UTC</property><property name="driverClass">com.mysql.jdbc.Driver</property><!-- 涉及到数据库连接池的管理的相关属性的设置 --><!-- 若数据库中连接数不足时, 一次向数据库服务器申请多少个连接 --><property name="acquireIncrement">5</property><!-- 初始化数据库连接池时连接的数量 --><property name="initialPoolSize">5</property><!-- 数据库连接池中的最小的数据库连接数 --><property name="minPoolSize">5</property><!-- 数据库连接池中的最大的数据库连接数 --><property name="maxPoolSize">10</property><!-- C3P0 数据库连接池可以维护的 Statement 的个数 --><property name="maxStatements">20</property><!-- 每个连接同时可以使用的 Statement 对象的个数 --><property name="maxStatementsPerConnection">5</property></named-config>
</c3p0-config>
JDBC连接池c3p0连接异常和日志处理相关推荐
- JSP Tomcat8.0运行连接池时发生异常【AbstractMethodError oracle.jdbc.driver.T4CConnection.isValid(I)Z】...
原创 2015年12月28日 11:38:01 2004 一.Tomcat8.0运行连接池时发生异常: AbstractMethodError oracle.jdbc.driver.T4CConnec ...
- JDBC连接池C3P0,druid
数据库连接池 什么是数据库连接池: 将多个连接对象放在一个类似于list的集合中,做到需要用到连接的时候就去池子中获取Connection连接对象,不用就放回池子中,不用频繁的获取连接池,关闭连接池. ...
- JDBC秒变C3P0连接池——再加连接解耦
从JDBC连接到C3P0数据库连接池 在Java开发中,使用JDBC操作数据库的四个步骤如下: ①加载数据库驱动程序(Class.forName("数据库驱动类");) ...
- spring3+hibernate4配置连接池C3P0
hibernate自带的连接池一般用在开发阶段或学习阶段,但是在部署到服务器后种种问题涌现 hibernate使用连接池c3p0有2中配置方式 1. 配置在文件applicationContext.x ...
- JDBCC3P0连接池Druid连接池
typora-root-url: img typora-copy-images-to: img JDBC&连接池 回顾 会使用mysql字符串函数 CONCAT: 连接字符串 CHAR_LEN ...
- 连接池以及连接池的使用
目录 什么是连接池? 为什么要使用连接池 连接池分类 连接池的核心对象 连接池对象 连接池工具类,深入理解: 连接池工具类全部代码: 什么是连接池? 一种存放数据库连接的容器,并且拥有动态新增连接.管 ...
- java长连接转短连接_java原生程序redis连接(连接池/长连接和短连接)选择问题...
原标题:java原生程序redis连接(连接池/长连接和短连接)选择问题 最近遇到的连接问题我准备从重构的几个程序(redis和mysql)长连接和短连接,以及连接池和单连接等问题用几篇博客来总结下. ...
- HttpClient连接池的连接保持、超时和失效机制
HTTP是一种无连接的事务协议,底层使用的还是TCP,连接池复用的就是TCP连接,目的就是在一个TCP连接上进行多次的HTTP请求从而提高性能.每次HTTP请求结束的时候,HttpClient会判断连 ...
- 浅谈各种连接池中连接数量的设置
连接池中连接数量的配置 我们日常开发中经常会用到各种连接池,比如httpclient和jediscluster以及druid等数据库连接池,当使用这些连接池的时候我们总是很疑惑到底要怎么配置连接池中连 ...
最新文章
- [Unity3D]Unity3D连衣裙实现游戏开发系统
- 第十六届全国大学生广东赛区线上比赛流程规范
- 文档模式引起的浏览器兼容问题
- python锁有哪几种_python 可重入锁有什么用?
- Java虚拟机------垃圾收集器
- MathType 在Word中的应用
- windows ce操作系统能用哪个导航_微软的windows和苹果的mac操作系统,在技术难度上哪个更高...
- P2341 [HAOI2006]受欢迎的牛
- python爬虫案例-爬取西刺免费代理服务器IP等信息
- 小米6线刷包php文件格式,小米6官方固件刷机教程_线刷|救砖教程图解
- Sketch 54.1 Shark 鲨鱼中文汉化特别版 Mac 设计师必备的原型UI设计工具
- 南通市城管局推动“数字化城管”向“智慧城管”升级
- Android水波纹效果
- 978_使用emacs lisp安装emacs插件
- Autodesk 3ds Max 2014选择集闪退问题
- 使用CM快速搭建CDH集群
- clion_gcc报错
- 接力队选拔matlab,这是我见过的操作最好的接力队之一= =
- JAVA版本与C#配对的SM2加签验签
- php获取必应,php获取必应美图api