解释Mybatis中TypeHandle怎么处理特殊数据类型? [来自qq空间]

本文深入解析Mybatis中Blob和Clob数据类型的特性和用法,包括它们如何在Java中表示,以及如何在Mybatis中通过TypeHandler进行映射。同时介绍了自定义TypeHandler的实现方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1。Blob数据类型,对应在java类型:java.sql.Blob,用byte[]存储,正常Blob类型用于图片、等大文本文件,它是以二进制形式来存储。在Mybatis中,只提供了BlobTypeHandler,用于把数据库Blob字段映射到java中的byte[]类型,如果要映射成String,必须实现TypeHandler类。

2。Clob数据类型,对应在java类型:java.sql.Clob,用byte[]存储,正常Clob类型用于存储大量文字,而不是文件。在Mybatis中,提供了ClobStringTypeHandler,用于把数据库Clob字段映射到java中的String类型。

3。TypeHandler,是个接口,它是在返回值ResultSet时候调用resultMap这时会触发对象属于映射,源码如下:

public void setParameter(PreparedStatement ps, int i, Object parameter, JdbcType jdbcType)
      throws SQLException;       //该方法用于给对象属于赋值

  public Object getResult(ResultSet rs, String columnName)
      throws SQLException;     //通过字段名称返回值

  public Object getResult(CallableStatement cs, int columnIndex)
      throws SQLException;    //通过字符索引返回值

4。BaseTypeHandler,该类是Mybatis提供的,自定义的新类只要继承它或,实现TypeHandler都可以。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值