在項目中需要向一數據庫表中插入xmltype類型的值,當數據值未超過4000時,沒有問題,超過4000需要寫類型的處理類。
其中回調類名稱為XMLTypeHandlerCallback
關鍵方法如下:標紅的為報錯的信息,Cause: java.lang.UnsupportedOperationException: XMLType mapping only supported for Oracle RDBMS
這個問題想不太明白,請執教。
核心: 勇敢進取年輕的心
其中回調類名稱為XMLTypeHandlerCallback
關鍵方法如下:標紅的為報錯的信息,Cause: java.lang.UnsupportedOperationException: XMLType mapping only supported for Oracle RDBMS
這個問題想不太明白,請執教。
public void setParameter(ParameterSetter setter, Object parameter)
throws SQLException {
System.out.println(setter.getPreparedStatement().getClass().toString());
System.out.println("開始判斷是否是實例");
if (setter.getPreparedStatement() instanceof OraclePreparedStatement) {
System.out.println("結束實例判斷");
OraclePreparedStatement ops = (OraclePreparedStatement) setter.getPreparedStatement();
System.out.println("blw002");
if (parameter == null) {
System.out.println("blw");
ops.setNull(setter.getParameterIndex(),
oracle.jdbc.OracleTypes.OPAQUE, "SYS.XMLTYPE");
} else {
System.out.println(parameter.toString());
XMLType xmlInput = XMLType.createXML(ops.getConnection(),
(Document) parameter);
// Document doc = DocumentHelper.parseText(parameter.toString(), false);
// XMLType xmlInput = XMLType.createXML(ops.getConnection(),doc);
// System.out.println(xmlInput.getStringVal());
ops.setObject(setter.getParameterIndex(), xmlInput);
}
} else {
throw new UnsupportedOperationException(
"XMLType mapping only supported for Oracle RDBMS");
}
}
核心: 勇敢進取年輕的心