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

这篇具有很好参考价值的文章主要介绍了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));
	}

获取结果

springboot~mybatis-plus中使用TypeHandler做类型映射文章来源地址https://www.toymoban.com/news/detail-856728.html

到了这里,关于springboot~mybatis-plus中使用TypeHandler做类型映射的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 详解Mybatis-Plus中分页插件PaginationInterceptor, MybatisPlusInterceptor在SpringBoot中的使用

    我们在开发的过程中,经常会遇到分页操作,其分为逻辑分页和物理分页,具体可参考我的博文:

    2023年04月14日
    浏览(45)
  • Mybatis-Plus处理Mysql Json类型字段

    Mysql 5.7.8开始支持Json对象和Json数组,但在Mysql 8版本中使用Json性能更佳。 使用Json格式的好处: 无须预定义字段:字段可以无限拓展,避免了ALTER ADD COLUMN的操作,使用更加灵活。 处理稀疏字段:避免了稀疏字段的NULL值,避免冗余存储。 支持索引:相比于字符串格式的JSON,

    2024年02月03日
    浏览(53)
  • Mybatis-Plus+SpringBoot框架详解

    1、SpringBoot 简介 SpringBoot 提供了一种快速使用 Spring 的方式,基于约定优于配置的思想,可以让开发人员不必在配置与逻辑业务之间进行思维的切换,全身心的投入到逻辑业务的代码编写中,从而大大提高了开发的效率,一定程度上缩短了项目周期。 2014 年 4 月,Spring Boot 1

    2023年04月08日
    浏览(48)
  • SpringBoot整合Mybatis-Plus(SpringBoot3)

    依赖pom.xml: pom.xml resource包下的Application.yml: Aollication.yml pojo包下的实体类User: User mapper包下的接口UserMapper: UserMapper 主启动类DemoPlusApplication DemoPlusApplication 测试类DemoApplicationTest: DemoApplicationTest 实现结果 检测数据库连接: C(Create): D(Delete): U(Update) R(Read)

    2024年03月20日
    浏览(55)
  • SpringBoot整合JUnit--MyBatis--MyBatis-Plus--Druid

    文章转自黑马程序员SpringBoot学习笔记,学习网址:黑马程序员SpringBoot2教程 1.整合JUnit ​ SpringBoot技术的定位用于简化开发,再具体点是简化Spring程序的开发。所以在整合任意技术的时候,如果你想直观感触到简化的效果,你必须先知道使用非SpringBoot技术时对应的整合是如何做

    2023年04月23日
    浏览(49)
  • springboot项目使用mybatis-plus 时出现 Property ‘mapperLocations‘ was not specified的3个解决方案

    在 spring boot 项目中,使用 mybatis-plus 会出现 Property ‘mapperLocations‘ was not specified 的提示。出现该提示,但可能不影响项目的运行。这是怎么回事? 在解决这个问题之前,要先讨论一下 mybatis 的 xml 文件放的位置。通常有3个地方,如下图: 方案1:放在 1 的位置,IEDA默认不会

    2024年02月12日
    浏览(60)
  • MyBatis-Plus 查询PostgreSQL数据库jsonb类型保持原格式

    在这篇文章,我们保存了数据库的jsonb类型:MyBatis-Plus 实现PostgreSQL数据库jsonb类型的保存与查询 这篇文章介绍了模糊查询json/jsonb类型:PostgreSQL 查询json/jsonb是否存在某个片段 在模糊查询json/jsonb之前,我们得拿到正确的json/jsonb片段,比如我们模糊查询好几个连着的键值对,

    2024年02月15日
    浏览(63)
  • SpringBoot整合MyBatis-Plus,赶紧整过来!

    提示:以下是本篇文章正文内容 MyBatis-Plus官网介绍:MyBatis-Plus (opens new window)(简称 MP)是一个 MyBatis (opens new window)的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。 MyBatis-Plus封装了单表的crud操作,减少基础代码编写,提高开发效率。 支持自

    2024年02月06日
    浏览(40)
  • springboot3.2 整合 mybatis-plus

    springboot3.2 正式发布了 迫不及待地的感受了一下 结果在整个mybatis-plus 的时候遇到了如下报错 主要是由于 mybatis-plus 中 mybatis 的整合包版本不够导致的 排除 mybatis-plus 中自带的 mybatis 整合包,单独引入即可 修改依赖后正常

    2024年02月04日
    浏览(51)
  • springboot+mybatis-plus实现自动建表

    好长时间没输出了,最近工作上也是太多事,领导动不动就拍脑门,那叫一个酸爽~ 工作能力的提现不但是技术或解决问题的能力上,还体现在要能立刻满足领导的各种需求,不管是哪方面的需求,这样才能够拍上马屁,步步高升。 言归正传,作为技术从业者,还是要多深耕

    2024年02月16日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包