我正在使用一个主要执行数据库操作的 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}"/>
关于mysql - Java Spring应用程序中从Oracle迁移到MySQL : Connection Pooling,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58092687/