mysql - Java Spring应用程序中从Oracle迁移到MySQL : Connection Pooling

标签 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 框架。

最佳答案

我最终使用了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/

相关文章:

java - 错误 :java. lang.IllegalStateException:BindingResult 和 bean 名称 'spcrId' 的普通目标对象都不能用作请求属性

java - 什么样的对象应该在ioc下

mysql - SQL:当且仅当子项具有特定属性时获取父项

php - 管理 PHP 和 MySQL 之间的日期格式差异

php - MySql 在插入 PHP 字符串时执行数学计算

java - 为什么我在使用 RemoteFileTemplate 时会在日志中收到意外的 RuntimeException 警告?

php - 是否可以从 PHP 中的两个不同服务器连接两个表(一个 Mysql,另一个 Oracle)?

php - CSV 到 Mysql 插入日期时间

php - Laravel 5 用不同的值更新多行

sql查询优化