本文主要是介绍多个C3P0的java举例,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在使用mysql时,如果数据库会被频繁多人调用,有必要使用连接池来帮助协调,使用C3P0连接池时想要用多个数据库时,需要分别定义ComboPooledDataSource的静态对象。举例如下:
public class ConnOfC3P0Util {private static Log logger = LogFactory.getLog(ConnOfC3P0Util.class);private static ComboPooledDataSource ds = new ComboPooledDataSource();private static ComboPooledDataSource ds2 = new ComboPooledDataSource("myApp"); public static ComboPooledDataSource getDs() {return ds;}public static Connection getConnection() {try {logger.info("ds.getDataSourceName():"+ds.getDataSourceName());return ds.getConnection();} catch (SQLException e) {logger.error(e.getMessage(), e);}return null;}public static Connection getMyConnection() {try {logger.info("ds2.getDataSourceName():"+ds2.getDataSourceName());return ds2.getConnection();} catch (SQLException e) {logger.error(e.getMessage(), e);}return null;}public static void free(ResultSet rs, Statement st, Connection conn) {try {if (rs != null) {rs.close();}} catch (Exception e) {logger.error( e.getMessage(), e);} finally {try {if (st != null) {st.close();}} catch (Exception e) {logger.error( e.getMessage(), e);} finally {if (conn != null) {try {conn.close();} catch (SQLException e) {logger.error(e.getMessage(), e);}}}}}
}
相应的c3p0xml配置为:
<?xml version="1.0" encoding="UTF-8"?>
<c3p0-config><default-config><property name="driverClass">com.mysql.jdbc.Driver</property><property name="user">XXX</property><property name="password">XXX</property><property name="jdbcUrl">jdbc:mysql://XXXuseUnicode=true&characterEncoding=utf-8&connectTimeout=60000&socketTimeout=60000</property><property name="initialPoolSize">20</property><property name="maxPoolSize">50</property><property name="minPoolSize">5</property><property name="acquireIncrement">2</property><property name="maxIdleTime">10</property><property name="maxStatements">30</property> <property name="idleConnectionTestPeriod">21600</property></default-config><named-config name="myApp"><property name="user">YYY</property><property name="password">YYY</property><property name="driverClass">com.mysql.jdbc.Driver</property><property name="jdbcUrl">jdbc:mysql://YYY</property><property name="initialPoolSize">10</property><property name="maxIdleTime">30</property><property name="maxPoolSize">100</property><property name="minPoolSize">10</property></named-config></c3p0-config>
这篇关于多个C3P0的java举例的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!