我正在使用主要执行数据库操作的Java Spring应用程序。输入是数据库行,输出是不同表中的数据库行。当前它使用Oracle 10g数据库。当前正在分析有关迁移到MySQL的新要求。
当前的oracle连接是使用连接池设置的。我正在尝试对MySQL连接进行同样的操作,并且正在研究要使用哪个DataSource
。在oracle连接中,使用oracle.jdbc.pool.OracleDataSource
。我曾考虑过将com.mysql.jdbc.jdbc2.optional.MysqlConnectionPoolDataSource
用于MySQL,但它不具有oracle数据源具有的属性,并且我还没有在数据库上工作很长时间,以至于不知道所需属性的等效性。当前属性设置如下:
<property name="connectionCacheName" value="App_db_connection_pool" />
<property name="connectionCacheProperties">
<props>
<prop key="MinLimit">${MinLimit}</prop>
<prop key="MaxLimit">${MaxLimit}</prop>
<prop key="InitialLimit">${InitialLimit}</prop>
<prop key="InactivityTimeout">${InactivityTimeout}</prop>
<prop key="ConnectionWaitTimeout">${WaitTimeout}</prop>
</props>
</property>
我需要使用与上述相同或相似的属性来设置MySQL连接。我应该使用什么数据源?
P.S .:该应用程序在Java代码中使用大量查询,因此使用像hibernate这样的ORM框架是不可能的。
我最终使用了C3P0。相应的属性如下:
<property name="initialPoolSize" value="${InitialLimit}"/>
<property name="minPoolSize" value="${MinLimit}"/>
<property name="maxPoolSize" value="${MaxLimit}"/>
<property name="maxIdleTimeExcessConnections" value="${InactivityTimeout}"/>
<property name="checkoutTimeout" value="${WaitTimeout}"/>