Here是加快批量插入性能的一種方法。 rewriteBatchedStatements
可以編程方式設置,不是通過網址?如何以編程方式爲mysql jdbc驅動程序設置rewriteBatchedStatements?
回答
如果你不想通過URL來做到這一點,你可以使用Properties
對象與DriverManager
:
Properties props = new Properties();
props.setProperty("user", ...);
props.setProperty("password", ...);
props.setProperty("rewriteBatchedStatements", "true");
Connection connection = DriverManager.getConnection(url, props);
如果您使用MysqlDataSource
或MysqlConnectionPoolDataSource
那麼您需要設置屬性rewriteBatchedStatements
(或致電設置器setRewriteBatchedStatements(boolean)
要在運行時改變這個你已經獲得了連接後,你應該能夠使用:
((com.mysql.jdbc.ConnectionProperties) connection).setRewriteBatchedStatements(true);
注:我只是看了看MySQL的連接器/ 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此代碼不起作用。
@Cherry感謝您的編輯。我完全忘了提到'unwrap',它可能適用於正常的MySQL連接,也適用於其他數據源的包裝MySQL連接。 –
你應該能夠做到這一點使用Connection.setClientInfo
:
Connection c = ...;
c.setClientInfo("rewriteBatchedStatements", "true");
你確定知道這個作品嗎?我只是快速瀏覽了MySQL Connector/J源代碼,但setClientInfo似乎只設置了有關當前連接的服務器端信息。 –
- 1. 以編程方式爲MySQL數據庫安裝驅動程序
- 2. 如何在MySQL JDBC驅動程序上設置連接超時?
- 3. MySQL jdbc驅動程序
- 4. 如何以編程方式連接Hbase與Apache Drill的JDBC驅動程序
- 5. JDBC瘦驅動程序的NLS_LANG設置?
- 6. OCI JDBC驅動程序和NLS設置
- 7. 以編程方式安裝設備驅動程序
- 8. 如何以編程方式獲取MySQL連接器/ NET驅動程序版本?
- 9. Sun JDBC ODBC驅動程序或MSSQL JDBC驅動程序
- 10. 以編程方式爲應用程序設置播放設備
- 11. 如何使用JDBC驅動程序在Hive中設置FetchSize 0.13.0
- 12. 如何設置jdbc驅動程序類路徑
- 13. 如何以編程方式設置passwordToggleEnabled
- 14. 如何以編程方式設置masterpage?
- 15. 如何以編程方式設置layout_margin?
- 16. 如何以編程方式設置SeCreateGlobalPrivilege?
- 17. 如何以編程方式設置adUnitId?
- 18. 以編程方式爲USB設備安裝「不兼容」的驅動程序
- 19. Spring Roo MySQL JDBC驅動程序
- 20. MySQL JDBC驅動程序的ClassNotFoundException
- 21. 是什麼在MySQL JDBC驅動程序
- 22. MySQL JDBC驅動程序錯誤
- 23. MySQL JDBC驅動程序使用遷飛
- 24. MySQL JDBC驅動程序NumberFormatException的
- 25. 如何以編程方式設置tabLayout的應用程序:tabBackground?
- 26. 如何以編程方式設置應用程序池標識
- 27. MySQL和JDBC與rewriteBatchedStatements =真
- 28. 如何使用Mysql JDBC驅動程序連接Android與MySQL
- 29. 爲JDBC源-XXX應用程序定製JDBC驅動程序
- 30. 以編程方式在IOS中設置動作監聽程序
我是這個存在的問題在SO會幫助你。 http://stackoverflow.com/questions/26307760/mysql-and-jdbc-with-rewritebatchedstatements-true –