在Java Spring应用程序中从Oracle迁移到MySQL:连接池

时间:2019-09-25 06:54:50

标签: mysql spring oracle jdbc connection-pooling

我正在使用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框架是不可能的。

1 个答案:

答案 0 :(得分:0)

最后我使用了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}"/>