【发布时间】:2014-06-04 05:25:19
【问题描述】:
我有一个 CSV 文件,我正在尝试通过 jOOQ 的 loadCSV 方法导入。我想直接导入带有DATE 列的MySQL 数据库,但我的CSV 文件的日期格式为YYYYMMDD 而不是YYYY-MM-DD。有什么方法可以将自定义日期格式(或日期解析器)传递给 jOOQ 以进行导入过程?
谢谢!
【问题讨论】:
我有一个 CSV 文件,我正在尝试通过 jOOQ 的 loadCSV 方法导入。我想直接导入带有DATE 列的MySQL 数据库,但我的CSV 文件的日期格式为YYYYMMDD 而不是YYYY-MM-DD。有什么方法可以将自定义日期格式(或日期解析器)传递给 jOOQ 以进行导入过程?
谢谢!
【问题讨论】:
从 jOOQ 3.3 开始,加载程序 API 中不支持此类数据类型转换。但是我已经注册了issue #3221 来添加对这个有用功能的支持。我怀疑这样的事情应该是可行的(Java 8 语法):
ctx.loadInto(AUTHOR)
.loadCSV(csv)
.fields(AUTHOR.ID, AUTHOR.FIRST_NAME, AUTHOR.LAST_NAME)
.values(
row -> AUTHOR.ID.getDataType().convert(row[0]),
row -> row[1].split(" ")[0],
row -> row[1].split(" ")[1]
)
.execute();
当然欢迎投稿 ;-)
【讨论】: