[英]Load CSV file to a mysql table using Load data into. How do I convert the following query into JOOQ?
jOOQ為此提供了CSV導入API 。 這是將MySQL命令轉換為jOOQ的方法:
DSL.using(configuration)
.loadInto(TEST_TABLE)
.loadCSV(new File("/testing.csv"))
.fields(TEST_TABLE.VALUE)
.separator(',')
// Available in jOOQ 3.10 only: https://github.com/jOOQ/jOOQ/issues/5737
// .lineSeparator("\n")
.ignoreRows(1)
.execute();
請注意,jOOQ的Loader API不像MySQL那樣支持那些默認表達式(請參閱#5740 ):
SET test_ID="100",
test_reg_ID ="26003"
有一些解決方法:
DSLContext.fetchFromCSV()
,然后使用stream().map()
來添加丟失的數據,然后再使用替代的Record導入API,而不是建議的CSV導入API UPDATE
語句。 請注意,可以通過指定批量,批處理和提交大小來微調jOOQ的加載器API。 盡管如此,數據庫的現成導入實現仍然很可能比必須通過JDBC進行的任何客戶端導入都快得多。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.