首先建立了一个t_user表存储用户信息,这个表中有一栏favorites是记录个人爱好的,爱好包括篮球、足球、排球:




在Java的User对象对应的是一个String类型的List,而在数据库中是用分号分隔的字符表示,比如:”basketball;football;volleyball”,

所以我们需要创建一个继承了BaseTypeHandler 的类(BaseTypeHandler 实现了TypeHandler 接口,使用BaseTypeHandler 更简单),

@MappedTypes定义需要被拦截的java类型 @MappedJdbcTypes配置jdbc类型,这里的JdbcType必须org.apache.ibatis.type.JdbcType中的枚举类型,

然后还需要实现BaseTypeHandler 抽象类中一系列的get set方法,具体实现的代码如下: