Springboot引入mybatis-plus及操作mysql的json字段

这篇具有很好参考价值的文章主要介绍了Springboot引入mybatis-plus及操作mysql的json字段。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  1. springboot引入mybatis-plus,创建springboot项目省略
    1. pom文件
    2.  <dependency>
                      <groupId>com.baomidou</groupId>
                      <artifactId>mybatis-plus-boot-starter</artifactId>
                      <version>3.4.3.4</version>
                  </dependency>
      <!--自动生成代码模版-->
                  <dependency>
                      <groupId>com.baomidou</groupId>
                      <artifactId>mybatis-plus-extension</artifactId>
                      <version>3.4.3.4</version>
                  </dependency>
    3. 配置文件
    4. #配置mybatis配置文件
      mybatis-plus:
        #mappers
        mapper-locations: classpath:mappers/*Mapper.xml
        type-handlers-package: com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler
    5. 备注信息
      1. springboot使用mybatis和mybatis-plus没有什么区别,需要注意的是配置文件跟配置名:mybatis-plus
      2. 使用mybatis-plus的有点在于,在mybatis的基础上记性了一系列的有效封装,节约了开发时间,有这方面兴趣额同学自行搜索区别就是了
  2. mybatis-plus操作mysql的json字段
    1. mysql在5.7以后出现了json字段类型,这样省去了代码中转换的不必要性,但是mybatis目前还不能直接支持json类型,需要额外的处理,也就是自定义jdbctype类型进行处理
    2. mybatis-plus可以支持json类型
      1. 实体类类名和对应属性上增加配置
      2. package com.test.entity;
        import com.alibaba.fastjson.JSONObject;
        @Data
        @TableName(value = "user",autoResultMap = true)
        public class User implements Serializable {
        	private static final long serialVersionUID = 1L;
        	private Long id;
        	private String name;
        	@TableField(value="content",typeHandler = JacksonTypeHandler.class)
        	private JSONObject content;
        }
      3. xml文件的resultMap对应的字段增加配置
      4.  <resultMap id="baseMap" type="com.enric.payment.bin.ConfigTicketBO">
                <id column="uuid" property="uuid"/>
                <result column="station_id" property="station_id"/>
                <result column="pc_on" property="pc_on"/>
                <result column="machine_on" property="machine_on"/>
                <result column="machine_auto" property="machine_auto"/>
                <result column="ticket_pages" property="ticket_pages"/>
                <result column="coupon_rule_volume" property="coupon_rule_volume"/>
                <result column="coupon_over_volume" property="coupon_over_volume"/>
                <result column="coupon_expire_time" property="coupon_expire_time"/>
                <result column="create_time" property="create_time"/>
                <result column="update_time" property="update_time"/>
                <result column="create_by" property="create_by"/>
                <result column="update_by" property="update_by"/>
                <result column="ticket_info" property="ticket_info"
                        typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler"/>
                <result column="coupon_info" property="coupon_info"
                        typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler"/>
            </resultMap>
      5. xml插入或更新语句增加配置
      6. <update id="saveOrUpdate">
                INSERT INTO config_ticket(uuid, station_id, pc_on, machine_on, machine_auto, ticket_info, coupon_info,
                                          coupon_rule_volume,
                                          coupon_expire_time, coupon_over_volume, create_time, update_time, create_by)
                VALUES (#{uuid}, #{station_id}, #{pc_on}, #{machine_on}, #{machine_auto},
                        #{ticket_info,jdbcType=OTHER,typeHandler=com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler},
                        #{coupon_info,jdbcType=OTHER,typeHandler=com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler},
                        #{coupon_rule_volume},
                        #{coupon_expire_time}, #{coupon_over_volume}, now(), now(), #{create_by})
                ON DUPLICATE KEY UPDATE pc_on              = #{pc_on},
                                        machine_on         = #{machine_on},
                                        machine_auto       = #{machine_auto},
                                        ticket_info        = #{ticket_info,jdbcType=OTHER,typeHandler=com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler},
                                        coupon_info        = #{coupon_info,jdbcType=OTHER,typeHandler=com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler},
                                        coupon_rule_volume = #{coupon_rule_volume},
                                        coupon_expire_time = #{coupon_expire_time},
                                        coupon_over_volume = #{coupon_over_volume},
                                        update_time        = now(),
                                        update_by          = #{update_by}
            </update>

文章来源地址https://www.toymoban.com/news/detail-740935.html

到了这里,关于Springboot引入mybatis-plus及操作mysql的json字段的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 基于springboot+mybatis-plus+mysql+vue音乐网站管理系统

    音乐播放 用户登录注册 用户信息编辑、头像修改 歌曲、歌单搜索 歌单打分 歌单、歌曲评论 歌单列表、歌手列表分页显示 歌词同步显示 音乐收藏、下载、拖动控制、音量控制 后台对用户、歌曲、歌手、歌单信息的管理 开发工具:IDEA /ECLIPSE 数据库:MYSQL5.7以上 JAVA: JDK1.8

    2024年02月13日
    浏览(37)
  • Mybatis 与Mybatis-plus同时引入同一个项目中配置方法

    原项目系统中已经引入了 Mybatis 和 pagehelper ,当引入Mybatis-plus 后启动项目报错 SqlSessionFactory 错误,排查原因后为依赖冲突导致,需排除部分jar包,并修改相关配置。 1.mybatis中 2. pagehelper 中 3.引入Mybatis-plus 4.引入autoconfigure 5. 修改配置文件,将原 mybatis 改成 mybatis-plus。根据自

    2024年02月16日
    浏览(39)
  • IDEA创建SpringBoot项目整合MyBatis-Plus时报错:For artifact {mysql:mysql-connector-java:null:jar}: The version

    For artifact {mysql:mysql-connector-java:null:jar}: The version cannot be empty. 报错如图: pom.xml文件如图: 一直报错,明明之前导入的时候都是正常的,分析报错原因,原来是没有写版本号 添加版本号之后就正常了

    2024年02月12日
    浏览(35)
  • Mybatis-plus批量操作

            使用Mybatis-plus可以很方便的实现批量新增和批量修改,不仅比自己写foreach遍历方便很多,而且性能也更加优秀。但是Mybatis-plus官方提供的批量修改和批量新增都是根据id来修改的,有时候我们需求其他字段,所以就需要我们自己修改一下。         在Mybatis-plus的IS

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

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

    2023年04月08日
    浏览(38)
  • MyBatis-Plus-入门操作(1)

    2.1常见注解 约定大于配置 mp扫描实体类基于反射的方式作为数据库表的信息。 默认的约定 类名驼峰转下划线 名字为id的是主键 属性名进行驼峰转换成下划线 要是不遵循约定的话就需要对应的注解进行修改。 表的名字和 实际的表的名字是不一致的 schema数据库 value 表名 mp的

    2024年02月09日
    浏览(24)
  • 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日
    浏览(45)
  • Mybatis-plus的操作(新增,修改)

    一般同时会引入Druid。 MP会默认将模型类的类名首字母小写作为表名使用,假如数据库名称都以tbl_开头,那么我们就需要将所有的模型类上添加@TableName,配置起来还是比较繁琐,简化方式可以在配置文件中配置如下内容: 设置前缀的内容,这样MP就会拿tbl_加上模型类的首字

    2024年02月02日
    浏览(34)
  • SpringBoot整合JUnit--MyBatis--MyBatis-Plus--Druid

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

    2023年04月23日
    浏览(38)
  • SpringBoot(整合MyBatis + MyBatis-Plus + MyBatisX插件使用)

    1.需求分析 2.数据库表设计 3.数据库环境配置 1.新建maven项目 2.pom.xml 引入依赖 3.application.yml 配置数据源 数据库名 用户名 密码 驱动是mysql8的(因为上面使用了版本仲裁) 4.Application.java 编写启动类 5.测试 6.配置类切换druid数据源 7.测试数据源是否成功切换 4.Mybatis基础配置 1

    2024年03月20日
    浏览(45)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包