oracle 数据库中定义了clob类型字段。。。
oracle中的clob类型字段,用的是jdbc 。 我在实体类中可以定义为String类型吗?
我的方法都是封装好的,我作为string类型,插入没问题,但是查询就有问题,可能是我插入的字符少吧。
以前没用过这类型,请高手指教。我该怎么定义,和操作。
网上的东西有点乱,看的有点懵
[解决办法]
可以定义成string类型,但是在查询结果的时候,需要特殊处理这个字段,以mybatis为例,此字段需要使用ClobTypeHandler处理才能正确显示。
你使用了什么持久化方案
[解决办法]
试试
public String ClobToString(Clob clob) {
String reString = "";
Reader is = null;
try {
is = clob.getCharacterStream();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// 得到流
BufferedReader br = new BufferedReader(is);
String s = null;
try {
s = br.readLine();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
StringBuffer sb = new StringBuffer();
while (s != null) {
//执行循环将字符串全部取出付值给StringBuffer由StringBuffer转成STRING
sb.append(s);
try {
s = br.readLine();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
reString = sb.toString();
return reString;
}
byte[] temp_bytes= rs.getBytes("字段名");
String contentString="";
try {
if(bytes!=null && !bytes.equals("")){
contentString = new String(bytes, "gb2312");
}
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return contentString;