1、自定义一个转换类型,获取数据库数据并输出数据时,把数据库的Varchar类型转为java的String[]类型
前提(1)
定义一个类VarcharToStringsHandler继承BaseTypeHandler<String[]>,且类上方加上
@MappedTypes({String[].class})和@MappedJdbcTypes({JdbcType.VARCHAR})
,且VarcharToStringsHandler类中getStringArray(String value)定义分割的字符,如”-“、","
 
前提(2)
mybatis-config.xml中注册VarcharToStringsHandler类:
<typeHandlers>
<typeHandler handler="com.handler.VarcharToStringsHandler" />
</typeHandlers>
 
使用:
数据库中film表的title字段值为”aaa-bbb-ccc“之类的数据,取出后转为java的String[]数据
实体类Film如下:
 
FillmMapper.xml中:
<result column="title" jdbcType="VARCHAR" javaType="[Ljava.lang.String;" property="title" />
指定javaType="[Ljava.lang.String;"即String[]数组,则Mybatis就会到已经注册了的TypeHandler中寻找到能处理jdbcType对应javaType的类型转换的TypeHandler类(此处为VarcharToStringsHandler类)来进行处理
 

Java类型跟数据库类型的相互转换的更多相关文章

  1. 浩哥解析MyBatis源码(九)——Type类型模块之类型处理器注册器(TypeHandlerRegistry)

    原创作品,可以转载,但是请标注出处地址:http://www.cnblogs.com/V1haoge/p/6709157.html 1.回顾 上一篇研究的是类型别名注册器TypeAliasRegist ...

  2. 浩哥解析MyBatis源码(十)——Type类型模块之类型处理器

    原创作品,可以转载,但是请标注出处地址:http://www.cnblogs.com/V1haoge/p/6715063.html 1.回顾 之前的两篇分别解析了类型别名注册器和类型处理器注册器,此二 ...

  3. MyBatis源码解析(十)——Type类型模块之类型处理器TypeHandler

    原创作品,可以转载,但是请标注出处地址:http://www.cnblogs.com/V1haoge/p/6715063.html 1.回顾 之前的两篇分别解析了类型别名注册器和类型处理器注册器,此二 ...

  4. MyBatis源码解析(九)——Type类型模块之类型处理器注册器(TypeHandlerRegistry)

    原创作品,可以转载,但是请标注出处地址:http://www.cnblogs.com/V1haoge/p/6709157.html 1.回顾 上一篇研究的是类型别名注册器TypeAliasRegist ...

  5. Java与数据库类型对照表

     数据库类型  Java类型  INTEGER  int or java.lang.Integer  BIGINT  long or java.lang.Long  SMALLINT  short o ...

  6. MySql数据库类型bit等与JAVA中的对应类型【布尔类型怎么存】

    用char(1):可以表示字符或者数字,但是不能直接计算同列的值.存储消耗1个字节 用tinyint:只能表示数字,可以直接计算,存储消耗2个字节 用bit: 只能表示0或1,不能计算,存储消耗小于等 ...

  7. JAVA如何获得数据库的字段及字段类型

    Java获取数据库的表中各字段的字段名,代码如下: import java.sql.Connection;import java.sql.DriverManager;import java.sql.R ...

  8. java日期类型与字符串类型的相互转换

    package cn.zwq.convert; import java.text.ParseException; import java.text.SimpleDateFormat; import j ...

  9. MYSQL数据库类型与JAVA类型对应表

    MYSQL数据库类型与JAVA类型对应表   MYSQL数据库类型与JAVA类型对应表 类型名称 显示长度 数据库类型 JAVA类型 JDBC类型 索引(int) VARCHAR L+N VARCHA ...

随机推荐

  1. RPC框架 和 fegin原理

    打个比方,你有一些想法,你把他们变成文字写在信纸上,这是http 你把这个信纸塞进信封,这个信封是tcp 你把这个信封写上地址交给邮局,这地址是IP 一层套一层 会话层,表示层,应用层归到一起  就是 ...

  2. 多数据源并且数据库类型不同的情况下PageHelper的使用

    一.问题来源 最近开发一个项目需要依赖两个数据源,数据源类型分别为oracle和postgresql,代码中使用com.github.pagehelper分页插件进行分页,代码运行过程中postgre ...

  3. 介绍Collection框架的结构?

    随意发挥题,天南海北谁便谈,只要让别觉得你知识渊博,理解透彻即可.

  4. synchronized 关键字的用法?

    synchronized 关键字可以将对象或者方法标记为同步,以实现对对象和方法的互 斥访问,可以用 synchronized(对象) { - }定义同步代码块,或者在声明方法时 将 synchron ...

  5. CopyOnWriteArrayList 可以用于什么应用场景?

    CopyOnWriteArrayList(免锁容器)的好处之一是当多个迭代器同时遍历和修改这 个列表时,不会抛出 ConcurrentModificationException.在 CopyOnWri ...

  6. 指出在 spring aop 中 concern 和 cross-cutting concern 的不同之处?

    concern 是我们想要在应用程序的特定模块中定义的行为.它可以定义为我们想 要实现的功能. cross-cutting concern 是一个适用于整个应用的行为,这会影响整个应用程序. 例如,日 ...

  7. 乱序数组中第k大的数(顺序统计量)

    该问题是顺序统计量中十分经典的问题. 使用快排中的分区法,将第k大的数排序.若双向扫描分区加上三点中值法或绝对中值法,可以保证在 O(n) 时间里找出第k大的数. 补充:可以直接使用C++STL中的n ...

  8. 自动驾驶运动规划-Reeds Shepp曲线

    自动驾驶运动规划-Reeds Shepp曲线 相比于Dubins Car只允许车辆向前运动,Reeds Shepp Car既允许车辆向前运动,也允许车辆向后运动. Reeds Shepp Car运动规 ...

  9. Altium Designer 原理图的绘制前导

    元件库.封装库设计 部分元器件厂商或者经销商不提供元件库和封装库,只给了元器件尺寸图,所以需要自行设计元件库文件或是封装库文件 元件库设计: 新建  .SchLib 文件:File  ->  N ...

  10. c++思维导图

    转自:https://blog.csdn.net/qq_37941471/article/details/84026920