使用JdbcTemplate插入大文本的CLOB字段时,可以用如下方法进行:
final LobHandler lobHandler = new DefaultLobHandler (); //定义一个lob的操作类
Object update_result = jdbc.execute(sql, new AbstractLobCreatingPreparedStatementCallback(lobHandler) {
@Override
protected void setValues(PreparedStatement pstmt, LobCreator lobCreator)
throws SQLException, DataAccessException {
pstmt.setLong(1, Long.parseLong(app_id));//插入其他类型的字段
pstmt.setInt(2, Integer.parseInt(result));
lobCreator.setClobAsString(pstmt, 3, result_log);//大文本CLOB字段,result_log为字符串
pstmt.setString(4, user);
}
});
注意,jdbc驱动版本要支持你所操作的oracle数据库的版本,否则会提示长度超过限制的错误。