oracle中的clob字段的回车换行的处理

贴两个公共方法,一个是在你插入数据库时把字符串转换成clob类型的,另一个是在查询时,将clob字段转换成字符串;

本人开发环境:Ext+beehive+oracle

第一个方法:

 /**
	 * 将String转为Clob
	 * 
	 * @param strPar
	 * @return
	 * @throws Exception
	 */
	 public static Clob stringToClob(String strPar) throws Exception {
		return new javax.sql.rowset.serial.SerialClob(strPar.toCharArray());
	 }
第二个方法:
/**
	 * 将clob转为String
	 * 
	 * @param clobPar
	 * @return
	 * @throws Exception
	 */
	 public static String clobToString(Object clobPar) throws Exception {
		String valueStr = "";
		if (clobPar instanceof java.sql.Clob) {
			java.sql.Clob clob = (java.sql.Clob) clobPar;
			StringBuffer strOut = new StringBuffer();
			String aux;
			BufferedReader br = new BufferedReader(clob.getCharacterStream());
			while ((aux = br.readLine()) != null) {
				strOut.append(aux);
				strOut.append("\n");
			}
			if (strOut.length() > 0) {
				valueStr = strOut.substring(0, strOut.length() - 1);
			}
		}
		return valueStr;
	 }
具体应用:

查询时:例子:

HashMap map = pyApplyPersonMngr.getApplyPerInfoByID(oid);//获取数据
PyApplyPerson pymodel = new PyApplyPerson();//初始化model
if(map!=null){
	String achievement = clobToString(map.get("ACHIEVEMENT"));//此处获取的是clob字段的值,并转换成字符串
	BeanUtil.fillBeanWithMap(pymodel, map);
	pymodel.setAchievement(achievement);
}
好了,偷个懒,具体应用看自己发挥。

你可能感兴趣的:(Oracle,数据库,clob,回车换行,java,web)