【问题标题】:NamedParameterJdbcTemplate and JSON in PostgresPostgres 中的 NamedParameterJdbcTemplate 和 JSON
【发布时间】:2016-02-18 05:15:42
【问题描述】:

是否可以使用 SpringFramework 中的 NamedParameterJDBCTemplate 类将 json 插入到 postgresql json 列中,并且我得到一个 PSQLException: No hstore extension installed. 从这里我收集到 NamedParameterJDBCTemplate 正在尝试将值存储为 hstore。

有没有办法告诉NamedParameterJDBCTemplate 将值作为 json 插入到查询中?

值在java中存储为Map<String, String>

【问题讨论】:

    标签: java json spring postgresql


    【解决方案1】:

    这适用于我使用 namedjdbctemplate 将 Map 作为 jsonb 插入。

    1. 可以使用杰克逊库或 GSON 从 Map 创建 json_tring。
    2. 创建 PGObject 并填充如下值。
    3. 在 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);";
    

    【讨论】:

      猜你喜欢
      • 2015-01-19
      • 2013-12-04
      • 2013-04-27
      • 2021-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-24
      相关资源
      最近更新 更多