在springboot下将mybatis升级为mybatis-plus

2023-09-15 13:46:22

1. 整体描述

之前项目工程用的是mybatis,现在需要将其替换为mybatis-plus,mybatis-plus的mapper有很多自带的查询方法,用起来更加方便一些。

2. 具体步骤

2.1 更新pom引用

首先要将之前mybatis的依赖删除,要不会有问题。删除之后在pom加入如下引用:

        <!-- mybatis-plus -->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.5.3.1</version>
        </dependency>
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.1.1</version>
        </dependency>

其中后面的starter版本和springboot的版本一致即可。

2.2 更新yml配置

和mybatis一样,mybatis-plus也是需要配置一些参数的,比如mapper文件路径,domain文件路径之类的,同样先将之前mybatis的配置删除,然后添加如下配置,参数可以根据自己项目情况进行修改:
注:其中包名根据自己项目修改。

mybatis-plus:
  # 搜索指定包别名
  type-aliases-package: com.[XXX].project.**.domain
  # 配置mapper的扫描,找到所有的mapper.xml映射文件
  mapper-locations: classpath*:mybatis/**/*Mapper.xml
  # 全局配置
  global-config:
    # 主键类型  0:"数据库ID自增", 1:"用户输入ID",2:"全局唯一ID (数字类型唯一ID)", 3:"全局唯一ID UUID";
    id-type: 0
    # 字段策略 0:"忽略判断",1:"非 NULL 判断"),2:"非空判断"
    field-strategy: 2
    # 驼峰下划线转换
    db-column-underline: true
    # 刷新mapper 调试神器
    refresh-mapper: true
    # 配置
    configuration:
      # 驼峰式命名
      map-underscore-to-camel-case: true
      # 全局映射器启用缓存
      cache-enabled: true
      # 指定 MyBatis 所用日志的具体实现
      log-impl: org.slf4j;
      # 配置默认的执行器
      default-executor-type: reuse
      # 允许 JDBC 支持自动生成主键
      use-generated-keys: true

2.3 更新config配置

如果之前项目里有mybatis的config文件,@config的配置,需要删除。这块我没在代码里加config配置,就把之前的配置删除就可以了。

2.4 BaseEntity修改

如果之前的项目里有使用BaseEntity,但是BaseEntity类里的一些参数在数据库里没有,需要在这些参数上面添加一个注解,告诉mybatis-plus这些字段不需要去查数据库,具体如下:

    /**
     * 搜索值
     */
    @TableField(exist = false)
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private String searchValue;

还有其他的domain中如果也是不存在数据库中不存在的参数,建议也加上这个注解。

3. 程序启动

至此,修改就完成了,修改之后rebuild一下功能,我之前没rebuild,就一直报错,rebuild一下就好了。
启动之后看到如下,就说明mybatis-plus已经成功引入并启动了:
mybatis-plus启动log

4. 总结

mybatis-plus相比mybatis还有有很多方便之处的,还有就是从mybatis升级到mybatis-plus,之前的mapper代码可以直接使用,是向下兼容的,在之后新创建的mapper的时候,可以用mybatis-plus的BaseMapper里面的自带方法,这样对我们来说就少了很多麻烦,之前项目写完的那些mapper就不用改了。

以上就是本文的全部内容,感谢阅读。

更多推荐

数据结构学习笔记—— 排序算法总结【ヾ(≧▽≦*)o所有的排序算法考点看这一篇你就懂啦!!!】

目录一、排序算法总结(一)排序算法分类(二)表格比较二、详细分析(最重要考点!!!)(一)稳定性(二)时间复杂度(三)空间复杂度(四)比较次数(五)平均比较次数(六)排序趟数(七)根据规模选择排序算法(八)每趟确定的元素最终位置(九)存储方式的选择一、排序算法总结常用排序算法如下:#mermaid-svg-nyHNG1

驱动开发概念详解

1、什么是驱动能够驱使硬件实现特定功能的软件代码,可以根据驱动程序是否依赖于系统内核将其分为裸机驱动和系统驱动1.1裸机驱动编写的驱动代码中没有进行任何内核相关的API调用,开发者查询资料配置寄存器完成硬件相关控制,不依赖于系统内核,由开发者独立完成,相对而言比较简单。1.2系统驱动系统驱动指的是编写的驱动代码中需要调

了解JVM

一.了解JVM1.1什么是JVMJVM是JavaVirtualMachine(Java虚拟机)的缩写,是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟计算机功能来实现的,JVM屏蔽了与具体操作系统平台相关的信息,Java程序只需生成在Java虚拟机上运行的字节码,就可以在多种平台上不加修改的运行。JVM在执行字节

PyTorch之张量的相关操作大全 ->(个人学习记录笔记)

文章目录Torch1.张量的创建1.1直接创建1.1.1`torch.tensor`1.1.2`torch.from_numpy(ndarray)`1.2依据数值创建1.2.1`torch.zeros`1.2.2`torch.zeros_like`1.2.3`torch.ones`1.2.4`torch.ones_li

人工智能的未来:从 Jetson 到 GPT,沙龙见闻与洞察

前言在当今数字化时代,人工智能正以惊人的速度改变着我们的生活和工作方式。从智能语音助手到自动驾驶汽车,从智能家居到医疗诊断,人工智能技术已经广泛渗透到各个行业,并为其带来了巨大的变革和创新。越来越多的行业专家、学者和从业者积极参与到人工智能与行业应用实践中,为了进一步推动人工智能的发展和应用。活动介绍本次活动是由Mic

GPT引领前沿与应用突破之GPT4科研实践技术与AI绘图

GPT对于每个科研人员已经成为不可或缺的辅助工具,不同的研究领域和项目具有不同的需求。如在科研编程、绘图领域:1、编程建议和示例代码:无论你使用的编程语言是Python、R、MATLAB还是其他语言,都可以为你提供相关的代码示例。2、数据可视化:生成各种类型的数据可视化图表,如折线图、柱状图、散点图、饼图、热力图等。提

Leetcode.2522 将字符串分割成值不超过 K 的子字符串

题目链接Leetcode.2522将字符串分割成值不超过K的子字符串rating:1605题目描述给你一个字符串sss,它每一位都是111到999之间的数字组成,同时给你一个整数kkk。如果一个字符串sss的分割满足以下条件,我们称它是一个好分割:sss中每个数位恰好属于一个子字符串。每个子字符串的值都小于等于kkk。

Mysql003:基础查询

目录:1.基本查询2.条件查询(where)3.聚合函数(count、max、min、avg、sum)4.分组查询(groupby)5.分组后查询(having)6.排序查询(orderby)7.分页查询(limit)1.基本语法SELECT字段FROM表名WHERE条件GROUPBY分组HAVING分组后条件ORDE

用动态ip登录账号的风险高不高?

使用动态ip登录账号在一定程度上提供了额外的安全保障和匿名性,但与此同时也存在一些风险和风控挑战。本文将解密使用动态ip登录账号的真相,明确安全与风险的并存之道。1、增强隐私保护:使用动态ip登录账号可以隐藏您的真实IP地址,增强个人隐私保护。这使得恶意ddos者难以追踪您的真实身份和位置,为账号安全提供一定的保障。对

第三天:实现网络编程基于tcp/udp协议在Ubuntu与gec6818开发板之间双向通信

互联网地址每一台设备接入互联网后,都会举报一个唯一的地址编号IP地址INTERNET地址internet地址:它是协议上的一个逻辑地址目前来说,我们主要的IP地址有两类IPV4IPV6IPV4其实就是使用一个32bit整数作为IPIPV6其实就是使用一个128bit整数作为IPipv410101100000000100

腾讯视频共享设备ip会不会出现错误

腾讯视频共享设备功能为用户提供了方便的多屏互动体验,然而在使用该功能时,一些用户可能会遇到IP地址错误的问题。IP地址错误可能导致共享设备无法正常连接或通信。本文旨在对腾讯视频共享设备IP错误问题进行分析和解答,帮助读者更好地理解可能引起此类问题的原因,并提供一些解决方法。下面虎观代理小二二将具体介绍一下在使用腾讯视频

热文推荐