• 在springboot下将mybatis升级为mybatis-plus


    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>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    其中后面的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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27

    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;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

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

    3. 程序启动

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

    4. 总结

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

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

  • 相关阅读:
    axios接口请求超时,重试方法
    三次握手四次挥手过程剖析
    基于Advisor实现AOP
    为什么选择C/C++内存检测工具AddressSanitizer?如何使用AddressSanitizer?
    论文解读(GCC)《GCC: Graph Contrastive Coding for Graph Neural Network Pre-Training》
    QT中QIcon图标不显示的问题
    数据结构与算法基础-(1)
    模式识别与人工智能(程序与算法)系列讲解 - 总目录
    【博客489】prometheus-----PromQL数据类型与Metrics数据类型
    Ghostscript 在 Linux 和 Windows 系统的应用与问题解决
  • 原文地址:https://blog.csdn.net/nhx900317/article/details/132900121