关于springboot:Spring-Boot快速整合MybatisPlus

3次阅读

共计 2219 个字符,预计需要花费 6 分钟才能阅读完成。

一、引言

Mybatis-Plus 是一个 MyBatis 的加强工具,在 MyBatis 的根底上只做加强不做扭转,为 简化开发、提高效率 而生。它曾经被大规模地利用在理论我的项目中,极大地提高了开发效率。

Mybatis-Plus 次要有以下特点:

  1. 无侵入(不会对现有工程造成影响)
  2. 弱小的 CURD 操作 (内置通用 Mapper、通用 Service 来实现 单表 的大部分 CURD 操作)
  3. 内置多种插件(分页插件、性能剖析插件、全局拦挡插件)

二、疾速整合

这里我应用的Spring Boot 版本:2.5.14

2.1 引入依赖

在 pom 文件中引入 mybatis-plus-boot-starter 依赖,这里应用 版本 3.5.1,如下

    <!-- springboot 集成 mybatis-plus -->
    <dependency>
        <groupId>com.baomidou</groupId>
        <artifactId>mybatis-plus-boot-starter</artifactId>
        <version>3.5.1</version>
    </dependency>

    <!-- mysql 驱动 -->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.29</version>
    </dependency>

2.2 配置 Mybatis-Plus 及数据源

上面是 mybatis-plus 的局部配置项,具体配置可参考官网 https://baomidou.com/pages/56…

server:
  port: 8081

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    username: root
    password: 123456
    url: jdbc:mysql://localhost:3306/test?characterEncoding=utf8

mybatis-plus:
  # 如果是放在 src/main/java 目录下 classpath:/com/yourpackage/*/mapper/*Mapper.xml
  # 如果是放在 resource 目录 classpath:/mapper/*Mapper.xml
  mapper-locations: classpath:/mapper/**/*.xml
  #实体扫描,多个 package 用逗号或者分号分隔
  typeAliasesPackage: com.kamier.springboot.mybatisplus.domain.*
  configuration:
    #开启 Mybatis 二级缓存,默认为 true
    cache-enabled: false
    #配置 JdbcTypeForNull, oracle 数据库必须配置
    jdbc-type-for-null: 'null'
  global-config:
    db-config:
      # AUTO: 数据库自增  INPUT: 自行设置  ASSIGN_ID: 雪花算法 id  ASSIGN_UUID:UUID
      id-type: AUTO
      # 逻辑删除配置(上面 3 个配置)logic-delete-field: del_flag
      logic-delete-value: 1
      logic-not-delete-value: 0

2.3 创立数据库实体类、Service 接口及其实现类、Mapper 接口、xml 文件

这里官网举荐应用 MybatisX 插件 来主动生成这些文件,在 idea 中搜寻 MybatisX 插件装置即可(留神:如果我的项目不须要自定义编写简单的 sql 语句,能够不须要生成 Mapper 接口和 xml 文件

装置之后,右侧栏 Database 连贯数据库后,可选中多张表,右键点击 MybatisX-Generator,配置选项可参考下图

点击 Finish 即可生成文件,下图红框中的就是主动生成的文件

能够来看下生成的类是什么样的

  • User.java(@TableName 指定表名,@TableId 指定主键,@TableField 指定字段名
  • UserMapper.java(继承 BaseMapper< 实体类 >
  • UserService.java(继承 IService< 实体类 >
  • UserServiceImpl.java(继承 ServiceImpl<Mapper 接口,实体类 >
  • UserMapper.xml(namespace 为 Mapper 接口全限定名

2.4 扫描 Mapper

在启动类上应用 @MapperScan 来扫描 Mapper,如下图

2.5 测试验证

编写一个简略的 Controller,如下

@RestController
@RequestMapping("/user")
public class UserController {

    @Autowired
    private UserService userService;

    @GetMapping("list")
    public R list() {return R.ok(userService.list());
    }
}

浏览器输出 http://localhost:8081/user/list,获取用户列表

三、结语

Spring Boot 疾速整合 Mybatis-Plus 到这里就完结了,Mybatis-Plus 还有许多有用的性能,包含 多数据源、内置插件、条件结构器 等等,这里不一一介绍了,有趣味的同学能够自行去官网查阅。

正文完
 0