嗨,Sean!
HoneySQL是个优秀的、紧凑的、最小化的库。阅读它并对其进行修改对我来说是一种极大的愉悦 :)
此外,我还没有玩过你的next.jdbc,但它肯定在我的计划之中。
我的任务是以下:
需要批量将具有相同元数据形状(表格和列)的多个Honey SQL插入命令插入到单个jdbc/execute!调用中。
例如:
1. {:insert-into [:my-table]
:values [{:col1 "str1"
:col2 "str2"}]}
2. {:insert-into [:my-table]
:values [{:col1 "str1"
:col2 nil}]} <--------- 这里是nil值
Honey SQL给我的结果是:
1. "insert into "my-table" ("col1","col2") VALUES (?, ?)" ["str1" "str2"]
2. "insert into "my-table" ("col1","col2") VALUES (?, NULL)" ["str1"] <----- NULL被内联
jdbcreader execution! 函数等待SQL和SQL参数向量,所以我想要提交一个SQL语句和一个SQL参数向量
"insert into "my-table" ("col1","col2") VALUES (?, ?)" and [["str1" "str2"] ["str1"]],但为了做到这一点,我需要相同的参数"布局"。
因此,我需要覆盖Honey SQL默认行为,即将'NULL'(及布尔值)内联,以便提升它们进入SQL参数。
结果:
1. "insert into "my-table" ("col1","col2") VALUES (?, ?)" ["str1" "str2"]
2. "insert into "my-table" ("col1","col2") VALUES (?, ?)" ["str1" nil]
也许你可以提供更准确的方法。