`
strongant
  • 浏览: 66495 次
  • 性别: Icon_minigender_1
  • 来自: IT
社区版块
存档分类
最新评论

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

阅读更多

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都可以。

分享到:
评论

相关推荐

    Mybatis 处理 CLOB、BLOB 类型数据

    Mybatis 处理 CLOB、BLOB 类型数据 MyBatis 处理 CLOB、BLOB 类型数据是指在使用 MyBatis 框架时,如何正确地处理大字段类型的数据。CLOB(Character Large OBject)和 BLOB(Binary Large OBject)都是大字段类型...

    Mybatis自定义typeHandle过程解析

    自定义TypeHandler是为了处理Mybatis默认不支持的数据类型转换,或者为了满足特定业务需求,比如在本例中,将时间戳与数据库中的timestamp字段进行互换。 在自定义TypeHandler的过程中,我们需要创建一个新的类并...

    mybatis中操作json类型数据(csdn)————程序.pdf

    在MyBatis中,操作JSON类型数据涉及到对MySQL数据库中JSON字段类型的映射和转换,以便于在Java代码中能够方便地处理这些数据。这里,我们主要关注如何自定义TypeHandler来实现这一功能。 首先,MySQL引入了JSON类型...

    mybatis常用jdbcType数据类型.txt

    mybatis常用jdbcType数据类型.txt mybatis常用jdbcType数据类型.txt

    mybatis中文离线文档

    6. **参数映射**:MyBatis支持多种类型的参数映射,包括基本类型、复杂类型(如自定义对象)以及Map等。它可以自动将Java对象的属性值转换为SQL语句中的参数。 7. **结果映射**:结果映射用于将查询结果转换为Java...

    mybatis数据类型错误及解决方法

    在使用MyBatis框架进行Java开发时,我们经常会遇到数据类型错误的问题,这些错误主要源自于数据库字段类型与Java对象属性类型不匹配、SQL语句中的类型转换不当或MyBatis配置文件中的设置错误。本篇文章将深入探讨...

    vue+nodejs+express+mybatis

    Vue.js、Node.js、Express和MyBatis是四个在Web开发中广泛应用的技术栈。这个项目案例结合了前端的Vue.js框架、后端的Node.js与Express框架,以及数据库操作的MyBatis持久层框架,构建了一个完整的Web应用程序。下面...

    spingmvc+mybatis+统一异常处理机制

    采用springmvc+mybatis,搭建部分大致跟网上其他资料差不多,唯一不同的加入了统一错误处理,为了方便开发人员开发,所有错误码用一张表存在数据库中,然后由应用将整表缓存,缓存采用的spring自带的cache,开发中...

    Mybatis自定义拦截器,对模糊查询传值的特殊字符统一进行转义处理的代码

    特殊字符(\,_,%)转义工具类 MyQueryInterceptor.java: Mybatis自定义拦截器 注意:该拦截器只支持QueryWrapper的like方法,serviceImpl层传全角模糊查询(%%) mapper或xml层的全角模糊查询(%*%)和半角模糊查询(%*或*%)

    mybatis的中文api文档

    MyBatis可以对配置和原生Map使用简单的XML或注解,将接口和Java的POJOs(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。MyBatis的其他语言版本包括英语、西班牙语、日语和韩语,以及简体中文。 ...

    mybatis 对clob类型转换

    本篇将详细探讨MyBatis中处理CLOB类型数据的转换以及解决可能出现的异常情况。 首先,MyBatis是Java中的一个持久层框架,它简化了SQL映射文件和Java代码的集成,提供了强大的SQL动态执行能力。在处理CLOB类型时,...

    MyBatis 中文官方文档

    文档中会详细解释MyBatis的配置,包括XML配置文件和基于注解的配置。XML配置文件主要用于定义数据源、事务管理器以及映射文件的位置。基于注解的配置则允许我们在实体类和Mapper接口上直接添加注解,减少XML配置的...

    mybatis中操作日期实例分析

    在MyBatis这个强大的持久层框架中,处理日期时间是常见的操作之一。本文将通过实例分析,探讨在MyBatis中如何有效地操作日期,包括插入、查询和更新等操作。我们将从以下几个方面来深入理解这一主题: 1. **日期...

    Mybatis自定义拦截器,对模糊查询传值的特殊字符(\,_,%)统一进行转义处理的代码

    代码包含: EscapeUtil.java:特殊字符(\,_,%)转义工具类 MyQueryInterceptor.java: Mybatis自定义拦截器 注意:该拦截器只支持QueryWrapper的like方法,serviceImpl层传全角模糊查询(%%) mapper或xml层的全角模糊查询(%...

    基于mybatis 来实现对敏感数据在进出DB时候进行脱敏处理, 让各位码友们无需自己各种手动实现

    在本文中,我们将探讨如何利用 MyBatis 实现对敏感数据的自动脱敏处理,从而避免手动编写复杂的代码来处理这一问题。 一、MyBatis 敏感数据脱敏原理 1. **拦截器机制**:MyBatis 提供了一种拦截器(Interceptor)...

    mybatis_3.5.9官方中文文档pdf

    MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。 MyBatis 的主要特点包括: 1. 动态 SQL:MyBatis 提供了动态 SQL ...

    mybatis .docx

    MyBatis 是一个流行的 Java 持久层框架,它提供了简单的方法来处理数据库中的数据。以下是一些关于 MyBatis 的关键点,这些可能会在你的面试中被问到: 1. **MyBatis 是什么?** - MyBatis 是一个半自动的持久层...

    MyBatis 中文注释源码

    - MyBatis 提供了自动类型转换和自定义类型处理器,以处理不同数据库之间的类型差异。 6. **Executor 执行器**: - Executor 是 MyBatis 的执行引擎,主要有 SimpleExecutor、ReuseExecutor 和 BatchExecutor 三...

    MyBatis3 API 中文文档

    MyBatis是一个开源的持久层框架,它的全称是“MyBatis 3”,它是iBatis的升级版,专注于POJO(Plain Old Java Object,普通Java对象)和数据库之间的映射关系。MyBatis消除了几乎所有的JDBC代码和手动设置参数以及...

    Mybatis 如何防止 sql 注入?mybatis 拦截器了解过吗,应用场景是什么.详情介绍

    Mybatis 如何防止 sql 注入?mybatis 拦截器了解过吗,应用场景是什么.详情介绍Mybatis 如何防止 sql 注入?mybatis 拦截器了解过吗,应用场景是什么.详情介绍Mybatis 如何防止 sql 注入?mybatis 拦截器了解过吗,...

Global site tag (gtag.js) - Google Analytics