domain的字段:
private Clob content;
hibernate的xml映射
<property name="content" type="clob"> <column name="CONTENT" > <comment>內容</comment> </column> </property>
首先是保存:
LobHelper lobHelper = session.getLobHelper(); Clob clob = lobHelper.createClob(content); news.setContent(clob);
content是前台傳遞的內容。這樣我們就可以保存這個對象了。
下面是讀取:
News news = newsDAO.get(id); Clob clob = news.getContent(); return StringUtils.clobToString(clob);
我們查詢到對應的對象,然后獲取到clob,然后傳入一個靜態方法,從而得到字符串。
該靜態方法的代碼如下:
public static String clobToString(Clob clob) { String reString = ""; Reader is = null; try { is = clob.getCharacterStream(); } catch (SQLException e) { e.printStackTrace(); } // 得到流 BufferedReader br = new BufferedReader(is); String s = null; try { s = br.readLine(); } catch (IOException e) { e.printStackTrace(); } StringBuffer sb = new StringBuffer(); while (s != null) { //執行循環將字符串全部取出付值給StringBuffer由StringBuffer轉成STRING sb.append(s); try { s = br.readLine(); } catch (IOException e) { e.printStackTrace(); } } reString = sb.toString(); return reString; }
結束。