mybatis查询CLOB

<1>JAVA类

public class OracleClobTypeHan implements TypeHandler<Object> {
      
      public Object valueOf(String param) {
        return null;
      }

      @Override
      public Object getResult(ResultSet arg0, String arg1) throws SQLException {
//        Clob clob = ((ClobProxyImpl) arg0.getClob(arg1)).getRawClob();
//          CLOB clob = (CLOB) arg0.getClob(arg1);
          Clob clob = null;
          if(arg0.getClob(arg1)!=null){
              clob = ((ClobProxyImpl) arg0.getClob(arg1)).getRawClob();
          }else{
              clob = (CLOB) arg0.getClob(arg1);
          }
        return (clob == null || clob.length() == 0) ? null : clob.getSubString((long) 1, (int) clob.length());
      }

      @Override
      public Object getResult(ResultSet arg0, int arg1) throws SQLException {
        return null;
      }

      @Override
      public Object getResult(CallableStatement arg0, int arg1) throws SQLException {
        return null;
      }

      @Override
      public void setParameter(PreparedStatement arg0, int arg1, Object arg2, JdbcType arg3) throws SQLException {
        CLOB clob = CLOB.empty_lob();
        clob.setString(1, (String) arg2);
        arg0.setClob(arg1, clob);
      }
    }

<2>xml

          <result column="YL_DESC3" property="ylDesc3" jdbcType="CLOB" javaType = "java.lang.String"
     typeHandler ="com.yinlian.wssc.web.util.OracleClobTypeHan"/>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MyBatis中的CLOB是指在数据库表的某一行中,存储字符大对象的列值。 CLOB是SQL CLOB的内置类型,它在MyBatis中使用Clob对象来表示。默认情况下,MyBatis使用SQL locator(CLOB)来实现Clob对象,这意味着Clob对象包含一个指向SQL CLOB数据的逻辑指针而不是数据本身。Clob对象在创建它的事务处理期间有效。 在MyBatis中,可以使用TypeHandler来处理CLOB类型的数据。可以通过自定义TypeHandler来指定在Java代码和数据库之间如何转换CLOB类型的数据。例如,可以创建一个名为OracleClobTypeHandlerCallback的类来处理Oracle数据库中的CLOB类型数据,该类实现了TypeHandlerCallback接口,并重写了其中的方法,如setParameter、getResult和valueOf等方法。这些方法用于设置参数、获取结果和转换值。 通过使用MyBatisCLOB类型和自定义的TypeHandler,开发人员可以方便地处理数据库中的CLOB类型数据,实现数据的读写和转换操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [mybatis如何读取clob数据 详细过程](https://blog.csdn.net/happyrabbit456/article/details/52634157)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值