java – 如何以编程方式为mysql jdbc驱动程序设置rewriteBatchedStatements?

前端之家收集整理的这篇文章主要介绍了java – 如何以编程方式为mysql jdbc驱动程序设置rewriteBatchedStatements?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

Here是一种加快批量插入性能方法.可以以编程方式设置rewriteBatchedStatements,而不是通过url设置吗?

最佳答案
如果您不想通过URL执行此操作,则可以将Driver对象与DriverManager一起使用:

Properties props = new Properties();
props.setProperty("user",...);
props.setProperty("password",...);
props.setProperty("rewriteBatchedStatements","true");
Connection connection = DriverManager.getConnection(url,props);

如果你使用MysqLDataSource或MysqLConnectionPoolDataSource,那么你需要设置属性rewriteBatchedStatements(或调用setter setRewriteBatchedStatements(boolean))

要在获得连接后在运行时更改此设置,您应该能够使用:

((com.MysqL.jdbc.ConnectionProperties) connection).setRewriteBatchedStatements(true);

注意:我只查看了最后一个选项的MysqL Connector / J源代码,我还没有测试过.

更新

对于c3p0,您可以使用以下内容

ComboPooledDataSource cpds = ...
Connection connection = cpds.getConnection();
connection.unwrap(com.MysqL.jdbc.ConnectionProperties.class).setRewriteBatchedStatements(true);

c3p0应该是com.mchange:c3p0:0.9.5.2,小心com.mchange – 与其他groupId这个代码不起作用.

猜你在找的MySQL相关文章