• 史上最简单:SpringCloud 集成 mybatis-plus(以若依微服务版本为例)


    编者按:若依微服务版是基于Spring Boot、Spring Cloud & Alibaba的微服务的权限管理系统,也是笔者比较推荐的个人学习和企业实践都比较优秀的开源项目。
    笔者也以此项目为例,介绍一下我自己是如何操作 SpringCloud 集成 mybatis-plus 的。

    一、pom 文件引入 mybatis-plus

    • 在根目录下的pom文件,添加mybatis-plus依赖、删除mybatis依赖
    • 在 system 模块里再次添加依赖。
      • 解释一下为什么要在这里再次添加mybatis-plus依赖。根目录的依赖是声明,并没有真正引用,当子模块用到了相应的依赖时需要在自己的pom里再引用进来,此时不用写版本号,因为声明时已规定好了。
        在这里插入图片描述
    
    
    
    
    
    
                
                <dependency>
                    <groupId>com.baomidougroupId>
                    <artifactId>mybatis-plus-boot-starterartifactId>
                    <version>3.5.2version>
                dependency>
                
                <dependency>
                    <groupId>com.github.pagehelpergroupId>
                    <artifactId>pagehelper-spring-boot-starterartifactId>
                    <version>${pagehelper.boot.version}version>
                dependency>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    二、修改配置

    • 修改application.yml
    # mybatis配置
    # mybatis:
    #     # 搜索指定包别名
    #     typeAliasesPackage: com.ruoyi.system
    #     # 配置mapper的扫描,找到所有的mapper.xml映射文件
    #     mapperLocations: classpath:mapper/**/*.xml
    
    mybatis-plus:
      # 不支持多包, 如有需要可在注解配置 或 提升扫包等级
      # 例如 com.**.**.mapper
      mapperPackage: com.ruoyi.**.mapper
      # 对应的 XML 文件位置
      mapperLocations: classpath*:mapper/**/*Mapper.xml
      # 实体扫描,多个package用逗号或者分号分隔
      typeAliasesPackage: com.ruoyi.**.domain
      # 启动时是否检查 MyBatis XML 文件的存在,默认不检查
      checkConfigLocation: false
      configuration:
        # 自动驼峰命名规则(camel case)映射
        mapUnderscoreToCamelCase: true
        # MyBatis 自动映射策略
        # NONE:不启用 PARTIAL:只对非嵌套 resultMap 自动映射 FULL:对所有 resultMap 自动映射
        autoMappingBehavior: PARTIAL
        # MyBatis 自动映射时未知列或未知属性处理策
        # NONE:不做处理 WARNING:打印相关警告 FAILING:抛出异常和详细信息
        autoMappingUnknownColumnBehavior: NONE
        # 更详细的日志输出 会有性能损耗 org.apache.ibatis.logging.stdout.StdOutImpl
        # 关闭日志记录 (可单纯使用 p6spy 分析) org.apache.ibatis.logging.nologging.NoLoggingImpl
        # 默认日志输出 org.apache.ibatis.logging.slf4j.Slf4jImpl
        logImpl: org.apache.ibatis.logging.nologging.NoLoggingImpl
      global-config:
        # 是否打印 Logo banner
        banner: true
        dbConfig:
          # 主键类型
          # AUTO 自增 NONE 空 INPUT 用户输入 ASSIGN_ID 雪花 ASSIGN_UUID 唯一 UUID
          idType: ASSIGN_ID
          # 逻辑已删除值
          logicDeleteValue: 2
          # 逻辑未删除值
          logicNotDeleteValue: 0
          # 字段验证策略之 insert,在 insert 的时候的字段验证策略
          # IGNORED 忽略 NOT_NULL 非NULL NOT_EMPTY 非空 DEFAULT 默认 NEVER 不加入 SQL
          insertStrategy: NOT_NULL
          # 字段验证策略之 update,在 update 的时候的字段验证策略
          updateStrategy: NOT_NULL
          # 字段验证策略之 select,在 select 的时候的字段验证策略既 wrapper 根据内部 entity 生成的 where 条件
          where-strategy: NOT_NULL
    
    • 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
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48

    三、修改代码

    在这里插入图片描述

    四、启动项目

    • 启动项目出现mybatis-plus的标志,并且不报错,说明升级成功
  • 相关阅读:
    Flutter 08 三棵树(Widgets、Elements和RenderObjects)
    C++ Qt开发:QItemDelegate自定义代理组件
    Python文件管理
    jQuery【jQuery树遍历、jQuery动画(一)、jQuery动画(二)】(四)-全面详解(学习总结---从入门到深化)
    算法day42|背包问题
    使用docker部署springboot项目并连接上mysql数据库
    SpringBoot 工程打包成jar包&使用外部的配置文件启动
    微服务注册中心之安装+实例搭建zookeeper
    如何按时间周期保存或备份已处理文件?
    Linux学习-数据类型学习
  • 原文地址:https://blog.csdn.net/jacky_zhuyuanlu/article/details/127955501