【发布时间】:2021-06-26 07:59:55
【问题描述】:
问题:
在我的 MySQL 数据库中,我有一个 JSON 类型的 info 列:info json DEFAULT NULL,
我写了一个简单的转换器如下,并注册到代码生成器中:
class JsonMapConverter : AbstractConverter<JSON, Map<*, *>>(JSON::class.java, Map::class.java) {
override fun from(databaseObject: JSON?): Map<*, *> =
jacksonObjectMapper().readValue(databaseObject.toString(), Map::class.java)
override fun to(userObject: Map<*, *>): JSON =
JSON.json(jacksonObjectMapper().writeValueAsString(userObject))
}
插入和更新可以使用此转换器正常工作。但是,现在我想用 MySQL 的 JSON_MERGE_PATCH 更新 JSON 字段,而不是在每次更新时简单地替换整个 JSON 对象。
我想到了jOOQ数据绑定,但是研究了一段时间后,我开始头晕了,因为我对JDBC非常陌生。
jOOQ 数据绑定真的可以实现我想要的吗?
版本:
- jOOQ:3.14.4
- 科特林:1.4.10
- 数据库:MySQL 5.7.32
【问题讨论】:
标签: mysql sql json kotlin jooq