mysql - 在 Java Spring 应用程序中从 Oracle 迁移到 MySQL:连接池
问题描述
我正在使用一个主要执行数据库操作的 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 连接。我应该使用什么数据源?
PS:应用程序在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}"/>
推荐阅读
- python - 获取 HKEY 常量根目录中的注册表项
- php - 完整性约束违规:1451 无法删除或更新父行:外键
- c# - 将 WasapiLoopbackCapture 缓冲区转换为 PCM
- javascript - 列出通过数据绑定搜索的 td 值中的特定数据
- windows - 关于多级目录结构中DACL继承的问题
- wordpress - 如何将最近五年添加到 cf7 下拉菜单?
- ios - 在 Xcode 中手动创建配置文件
- python - 如何在 roi 上使用 opencv 函数
- typescript - Express 的压缩不适用于 EJS
- python - 如何将 PIL 图像转换为字符串,然后将其转换回 PIL 图像?无需将其保存到新文件即可完成转换