配置文件
- 名称必须为c3p0-config.xml,否则找不到;
- 标签名称
<c3p0-config>
<default-config >
具体配置内容
</default-config>
</c3p0-config>
一般按照上述配置即可,如果有多个数据库可以使用标签
sqlite配置参考
<named-config name = "sqlite" >
<property name="jdbcUrl">jdbc:sqlite:db_save_path</property>
<property name="driverClass">org.sqlite.JDBC</property>
<property name="checkoutTimeout">30000</property>
<property name="idleConnectionTestPeriod">30</property>
<property name="initialPoolSize">10</property>
<property name="maxIdleTime">30</property>
<property name="maxPoolSize">10</property>
<property name="maxStatements">200</property>
</named-config>
sqlite memory mode
上面的配置会把数据库文件保存到db_save_path,如果数据量比较小,也不需要持久化到硬盘上,可以使用sqlite的内存数据库模式,
<property name="jdbcUrl">jdbc:sqlite::memory:</property>
其中memory名称不能改变。
此时,数据库在当前数据库连接被关闭后就立刻消失。每个:memory:数据库是不同的数据库,也就是说,用文件名":memory:"打开两个数据库连接将创建两个独立的内在数据库。
如果通过未修饰的":memory"名来指定内存数据库,则这个数据库总是有一个私有的对其他连接不可见的缓存。如果使用URI文件名,则同样的内存数据库可以被两个或多个数据库连接打开。
引用自SQLite剖析(6):临时文件和内存数据库
mysql配置参考
<named-config name = "mysql" >
<property name="jdbcUrl">jdbc:mysql://ipAddr:Port/dbName</property>
<property name="driverClass">com.mysql.jdbc.Driver</property>
<property name="user">username</property>
<property name="password">password</property>
<property name="checkoutTimeout">30000</property>
<property name="idleConnectionTestPeriod">30</property>
<property name="initialPoolSize">10</property>
<property name="maxIdleTime">30</property>
<property name="maxPoolSize">100</property>
<property name="minPoolSize">10</property>
<property name="maxStatements">200</property>
</named-config>