Oracle中,如何将String插入到BLOB类型字段

1,String插入到BLOB类型字段,(这里的字符串以生成的XML为例):

String XML = document.asXML();  //使用dom4j写成的xml是String类型,记得string类型不能直接插入到BLOB类型
byte[] xmlbyte = XML.getBytes("GBK"); //这里将String转为字符数组。
JdbcTemplate jdbcTemplate = new JdbcTemplate();
jdbcTemplate.update("update t_fseitemplate set EINVOICEXML = ? where id = ? ",new Object[]{xmlbyte,tempID}); // 这里使用jdbcTemplate执行sql语句,插入数据。

2,取出BLOB类型的数据

String sql = " select UTL_RAW.cast_to_varchar2(EINVOICEXML) as EINVOICEXML from T_FSEITEMPLATE t where t.id = ? ";
List xml = jdbcTemplate.queryForList(sql, new Object[] { StringUtil.nullToEmpty(p.get("TEMPID"))});

UTL_RAW.cast_to_varchar2(EINVOICEXML)这个语句是Oracle中自带的将BLOB类型转为String类型,EINVOICEXML是数据列名。

猜你喜欢

转载自www.cnblogs.com/lovefaner/p/9687402.html
今日推荐