likes
comments
collection
share

SpringBoot——整合 mybatis-plus

作者站长头像
站长
· 阅读数 15

前言

使用SpringBoot进行开发,不想到数据库怎么能行呢,想到了数据库,不想到mybatis怎么行呢?那既然都想到mybatis了,那再想一个mybatis-plus应该不过分吧?

所以这里,我想说一说SpringBoot整合mybatis-plus的各种细节

正文

由于本人也不是什么特别NB的大佬,这里也只能做一个简单的介绍

什么是mybatis-plus

mybatis-plus, 是由国人开发的,用来简化 mybatis 操作的 mybatis 进阶版,下面,我先给出官网地址

mybatis官网地址:mybatis – MyBatis 3 | 入门

mybatis-plus 官网地址:MyBatis-Plus (baomidou.com)

如何整合mybatis-plus

  • 导入mybatis-plus依赖,如下所示:
<!--    mybatis-plus -->
       <dependency>
           <groupId>com.baomidou</groupId>
           <artifactId>mybatis-plus-boot-starter</artifactId>
           <version>3.4.1</version>
       </dependency>
<!-- springboot 版本 2.7.10 -->

注:导入mybatis-plus的同时别忘记了导入数据库的连接器依赖哦

  • 进行一系列的创建工作

    • 创建表以及可以完全封装该表的类(classA),并使各个成员可被访问
      • 如果想要类中包含其他的成员变量,使用 @TableField(exist = false) 标注该成员即可
    • 创建Mapper接口继承 BasedMapper,其中泛型应该为classA
      • 这里创建的Mapper已经具备了很多功能,如果需要其他功能,可以通过XML配置进行拓展
    • 创建 Service 类继承 ServiceImpl,实现 IService 接口
      • 其中 ServiceImpl 的键值对泛型应该分别为 Mapper,classA
      • 其中 IService 的泛型应该为 classA
  • 把创建的各个组件都放入容器(步骤估计都熟练了,这里就不展开细讲了)

其余的细节

  • 可以在配置文件找配置对应的驼峰命名,来规避数据库的命名规则 和 Java 不同的问题,如下:
mybatis-plus:
 configuration:
   map-underscore-to-camel-case: true
  • 在使用Service 时,有时候可能会出现需要使用对应Mapper中方法的情况
    • 此时,可以通过 getBaseMapper() 方法来获取对应的Mapper对象
  • 在使用Mapper 时,有时候啃会出现需要根据某个属性进行查询的情况
    • 此时,主键可以通过 selectById() 方法来实现
    • 此时,其他的属性需要通过 selectByMap() 方法来实现
      • 具体而言,需要把字段名当成Map中的键名,内容当成value值

        注意:这里的字段名需要与表中的一致,不然会报错,即使是通过配置文件配置了驼峰命名也不行

总结

  • 请去看正文中的内容吧,我不想再写一遍