Java:如何将JSON对象插入CLOB到Oracle数据库

时间:2018-06-20 00:40:18

标签: java json oracle prepared-statement clob

我有一个org.json.simple.JSONObject,我想使用PreparedStatement将其插入Oracle数据库的Clob类型列中。我该怎么办?

当我做preparedStatement.setObject(1, json_obj);时收到错误消息:无法为org.json.simple.JSONObject推断setObject中的SQL类型

1 个答案:

答案 0 :(得分:0)

我将json作为字符串并创建了此方法,它对我有用:

public long  insertClob(String  id, String json ) {
    KeyHolder holder = new GeneratedKeyHolder();
    jdbcTemplate.update(new PreparedStatementCreator() {

    public PreparedStatement createPreparedStatement(Connection connection) throws SQLException {
        PreparedStatement ps = connection.prepareStatement("UPDATE tableWithClobColumn SET clobColumn=? WHERE id=?",
                Statement.RETURN_GENERATED_KEYS);
        Reader reader = new StringReader(json);
        ps.setClob(1, reader);
        ps.setString(2, "1911030604");

        return ps;
    }
}, holder);
return Long.parseLong("0");
}