关于JSON类型的插入

最后更新:2024-09-24 05:30:06 | 状态:未完成 | 相关数据库: PostgreSQL
大部分数据库的JSON类型可以通过String(varchar)类型插入。

但测试中发现PG环境通过占位符形式插入时会抛出类型转换异常


1.禁用占位符
ConfigStore configs = new DefaultConfigStore();
configs.setPlaceholder(false);

2.启用类型检测+类型转换
ConfigTable.IS_ENABLE_SQL_DATATYPE_CONVERT = true;
ConfigTable.IS_AUTO_CHECK_METADATA = true;

这样生成的SQL命令会带类型转换

INSERT INTO simple.public.TAB_JSON(code, infos) VALUES (?::INT4, ?::JSON)
code=1(java.lang.Integer)
infos={"name":"z","code":"c"}(java.lang.String)

UPDATE simple.public.TAB_JSON SET
code = ?::INT4
, infos = ?::JSON
WHERE ID = ?
param0=1(java.lang.Integer)
param1={"name":"z","code":"c","AGE":20}(java.lang.String)
param2=1(java.lang.Integer)

首页 最近更新 搜索 提交 回复