今天在使用ComboPooledDataSource加载配置文件c3p0-config.xml时,始终不成功。
主要问题:
1、文件名必须是c3p0-config.xml,我写成了c3p0-service.xml
2、<![CDATA[ ]]>标明是纯文本的,没有这个的话 < > & 字符是不能直接存入XML的,需要转义,而用这个标记则不需要转义而将这些符号存入XML文档。
<?xml version="1.0" encoding="UTF-8"?>
<c3p0-config>
<default-config>
<property name="driverClass">com.mysql.cj.jdbc.Driver</property>
<property name="jdbcUrl"><![CDATA[jdbc:mysql://localhost:3306/test_db?useSSL=false&serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8]]></property>
<property name="user">root</property>
<property name="password">beijing</property>
<property name="initialPoolSize">10</property>
<property name="maxIdleTime">30</property>
<property name="maxPoolSize">100</property>
<property name="minPoolSize">10</property>
</default-config>
</c3p0-config>
其中,com.mysql.cj.jdbc.Driver是mysql-connector-java 6 中的特性,相比mysql-connector-java 5 多了一个时区:serverTimezone,数据源配置的驱动也要做相应配置。