是否可以使用 NamedParameterJDBCTemplate
将 json 插入到 postgresql json 列中?在 SpringFramework 中上课,我得到一个 PSQLException: No hstore extension installed.
由此我得知 NamedParameterJDBCTemplate
正在尝试将值存储为 hstore。
有没有办法告诉我 NamedParameterJDBCTemplate
将值作为json 插入到查询中?
该值在 java 中存储为 Map<String, String>
最佳答案
这适用于我使用 namedjdbctemplate 将 Map 作为 jsonb 插入。
- 可以使用 jackson 库或 GSON 从 Map 创建 json_string。
- 创建 PGObject 并填充如下值。
- 在您的 SQL 准备语句中使用 PGObject。
希望这对您有所帮助。
ObjectMapper objectMapper = new ObjectMapper();
PGobject jsonObject = new PGobject();
String Map_Json_String = objectMapper.writeValueAsString(your_map);
jsonObject.setType("jsonb");
jsonObject.setValue(Map_Json_String);
String final insertSql = "INSERT INTO \"Table_Name\""
+ " VALUES (:jsonObject);";
关于java - Postgres 中的 NamedParameterJdbcTemplate 和 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33746693/