在Java项目中一般我们都需要处理数据库表到Java的Bean对象的映射关系,常用的ORM框架有mybatis,在大多数据情况下,数据库的数据类型到Java的数据类型满足我们的需要,例如varchar到String,int到int等,但是有些时候项目需要完成数据库数据类型到Java的某个数据类型的映射,mybatis现有的typeHandler不满足要求,所以需要用户自己开发用户自定义的typeHandler类型,以满足要求;
例如,数据库需要保存用户喜欢的产品,表字段以varchar类型保存,同时是一个符合JSON格式的列表,每个产品信息按 "产品名称(产品代码)",所以最终结果:["产品名称1(产品代码1)","产品名称2(产品代码2)"],即符合列表格式的JSON字符串,其对应的Java的Bean变量为一个字符型的List变量,即List<String>,所以需要完成数据库表字段的Varchar数据类型到Java的List<String>的映射处理关系,现有的typeHandler类型不足以满足要求,所以我们需要开发一个用户自定义的mybatis的typeHandler来处理这个问题,然后应用到mapper的XML文件中,大致框架代码(具体自行丰富补充)和步骤如下:
1,引入相关依赖Jar包,版本看自行根据需要定义
<!-- mybatis依赖 -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.0.0</version>
</dependency>
<!-- 数据库连接池 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.10</version>
</dependency>
<!-- mysql数据库连接 -->
<d