首页 > 其他分享 >springboot~mybatis-plus中使用TypeHandler做类型映射

springboot~mybatis-plus中使用TypeHandler做类型映射

时间:2024-04-23 17:55:21浏览次数:22  
标签:TUser java springboot TypeHandler typeHandler plus user class

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));
	}

获取结果

标签:TUser,java,springboot,TypeHandler,typeHandler,plus,user,class
From: https://www.cnblogs.com/lori/p/18153452

相关文章

  • SpringBoot整合OpenAPI 3生成在线接口文档
    SpringBoot整合springdoc-openapi,自动生成在线接口文档。1、引入pom依赖<dependency><groupId>org.springdoc</groupId><artifactId>springdoc-openapi-starter-webmvc-ui</artifactId><version>2.3.0</version></dependenc......
  • springboot 接口限制访问频率
     1.自定义注解@Target({ElementType.METHOD})@Retention(RetentionPolicy.RUNTIME)public@interfaceRateLimit{//默认最大访问次数intvalue()default3;//默认时间窗口(秒)longduration()default60;} 2.创建拦截器处理频率逻辑@Slf4......
  • springboot 统计接口耗时及指定时间接口访问次数
     1.使用AOP在不改变原有方法的基础上对接口方法增强,引入依赖<!--引入AOP依赖--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-aop</artifactId></dependency><!--引入Redis依赖--><depen......
  • springboot项目找不到符号问题以及模块聚合项目maven插件使用的相关问题 问题如图
    参考:https://www.cnblogs.com/coderxiaobai/p/15005181.html问题:更换maven,清空缓存重新导入依赖依然无效后(1)解决方法:方式一:删除项目中.idea文件夹,重新打开项目,选中jdk版本,重新导入依赖即可。(2)如果不是上述的原因可能是项目是模块聚合项目,原因就是父工程的pom中存在maven插......
  • mybatisplus分页中,模糊匹配一个字符串在列a或者列b下都可以筛选出的写法
    话不多说,直接上代码,and那句就对了LambdaQueryWrapper<类>wrapper=newLambdaQueryWrapper<类>().in(逻辑内容).like(正常逻辑内容).and(wrapperNew->wrapperNew.like(StringUtils.isNotEmpty(filter.getLocation()),......
  • SpringBoot如何优雅的进行参数校验(一)
    SpringBoot如何优雅的进行参数校验一.为什么要进行参数校验在日常的开发过程中,我们常常需要对传入的参数进行校验,比如在web前后端分离项目中,参数校验有两个方面:前端进行参数校验后端进行参数校验那这两种有什么区别呢?只完成一个可不可以呢?答案是不可以的!......
  • 最近火起的 Bean Searcher 与 MyBatis Plus 到底有啥区别?
    上篇:我这样写代码,比直接使用MyBatis效率提高了100倍欢迎公众号转载,但请转 当前最新版 并在显眼处 标明作者 与 注明出处。如果你喜欢本文也欢迎转发分享^_^BeanSearcher号称任何复杂的查询都可以一行代码搞定,但MybatisPlus似乎也有类似的动态查询功能,它们......
  • SpringBoot的Cookie sameSite之坑
    https://blog.csdn.net/weixin_38296425/article/details/111941318 CSDN上很多文章给出了解决CookiesameSite坑跨域之坑的解决办法,但是都忽略了一个问题,没有给出相关的依赖,我也是费了不少劲终于找到了解决办法,在这里记录下来。例如下面的代码:@ConfigurationpublicclassT......
  • SpringBoot3使用自带日志组件Logback
    参考:https://blog.csdn.net/AIJXB/article/details/128602818pom.xml<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-logging</artifactId></dependency>application.yaml配置l......
  • sh004基于springboot的MES生产制造执行系统【带LW文档】
    介绍基于springboot的MES生产制造执行系统管理员功能主要包括:生成计划管理、产品信息管理、销售订单管理、客户信息管理、物料信息管理、工业线路管理工序信息管理、员工管理、部门管理、个人中心等功能。员工功能结构图。其中员工查看工序信息,查看工艺线路,查看物料信息,查看产......