聯系博主          博客地圖
                     
          在項目中需要向一數據庫表中插入xmltype類型的值,當數據值未超過4000時,沒有問題,超過4000需要寫類型的處理類。
          其中回調類名稱為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");
          }
          }




              核心: 勇敢進取年輕的心

           

          Feedback

          # re: ibatis處理oracle數據庫中xmltype的問題[未登錄]  回復  更多評論   

          2012-11-21 12:52 by 飛鳥
          有遇到類似問題的嗎

          # re: ibatis處理oracle數據庫中xmltype的問題  回復  更多評論   

          2012-11-22 12:36 by 怎么羨慕天空的飛鳥
          已解決,
          問題是ibatis使用了代理。
          添加如下代碼即可解決
          PreparedStatement ps=((PreparedStatementLogProxy)Proxy.getInvocationHandler( setter.getPreparedStatement())).getPreparedStatement();

          # re: ibatis處理oracle數據庫中xmltype的問題  回復  更多評論   

          2013-05-07 17:12 by 蟲蟲大帥
          能詳細說下是如何解決的嗎?

          Copyright © 怎么羨慕天空的飛鳥

          主站蜘蛛池模板: 台南市| 衡东县| 万年县| 永靖县| 金沙县| 涟水县| 阿拉善左旗| 亳州市| 洪湖市| 将乐县| 深泽县| 宁强县| 黄梅县| 罗源县| 湾仔区| 东阿县| 卢龙县| 无棣县| 左贡县| 威海市| 东乡| 南丹县| 应用必备| 临沭县| 巴南区| 玉树县| 阿尔山市| 临沂市| 梁山县| 榆中县| 会泽县| 扶风县| 淳化县| 富宁县| 卢龙县| 清镇市| 马鞍山市| 满洲里市| 张家口市| 临漳县| 龙里县|