ToB企服应用市场:ToB评测及商务社交产业平台
标题:
springboot~mybatis-plus中使用TypeHandler做范例映射
[打印本页]
作者:
玛卡巴卡的卡巴卡玛
时间:
2024-5-18 03:24
标题:
springboot~mybatis-plus中使用TypeHandler做范例映射
mybatis-plus中,如果数据表字段范例与java实体字段范例不一样,这时就必要做范例映射与转换了,我们一般可以实现TypeHandler接口,大概继承抽象类BaseTypeHandler,我们下面举例来说明一下它的使用方法。
场景
数据表里字段是varchar,java里是List集合,例如:我的爱好标签
数据表里字段是varchar,java里是个Map对象,例如:我曾经居住过的地方
操作步骤
实体类
类注解的参数 autoResultMap = true,它影响TypeHandler中的getResult方法的执行
字段注解 @TableField(typeHandler = ListTypeHandler.class)
@Data
@TableName(value = "t_user", autoResultMap = true)
public class TUser extends BaseEntity {
private String username;
@TableField(typeHandler = MapTypeHandler.class)
private Map extensionInfo;
@TableField(typeHandler = ListTypeHandler.class)
private List<String> likeList;
}
复制代码
插入方法
@Test
public void insert() {
TUser user = new TUser();
user.setUsername("lind");
user.setExtensionInfo(new HashMap() {{
put("city", "beijing");
put("area", "shijingshan");
}});
user.setLikeList(java.util.Arrays.asList("basketball", "football"));
userDao.insert(user);
}
复制代码
获取方法
@Test
public void read() {
QueryWrapper<TUser> wrapper = new QueryWrapper<>();
wrapper.lambda().eq(TUser::getCreateBy, 1);
log.info("user1:{}", userDao.selectList(wrapper));
}
复制代码
获取结果
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/)
Powered by Discuz! X3.4