看官方文档:baomidou.com

依赖准备

想要什么依赖版本的去maven仓库查看:maven仓库地址
引入mybatis-plus依赖:

  1. <dependency>
  2. <groupId>com.baomidou</groupId>
  3. <artifactId>mybatis-plus-boot-starter</artifactId>
  4. <version>3.5.0</version>
  5. </dependency>

引入mysql依赖:

  1. <dependency>
  2. <groupId>mysql</groupId>
  3. <artifactId>mysql-connector-java</artifactId>
  4. <version>8.0.27</version></dependency>

目前,多数项目会有多数据源的要求,或者是主从部署的要求,所以我们还需要引入mybatis-plus关于多数据源的依赖:

  1. <!-- mybatis-plus 多数据源 -->
  2. <dependency>
  3. <groupId>com.baomidou</groupId>
  4. <artifactId>dynamic-datasource-spring-boot-starter</artifactId>
  5. <version>3.5.0</version>
  6. </dependency>

配置准备

springboot启动类。配置@MapperScan注解,用于扫描Mapper文件位置:

  1. import org.mybatis.spring.annotation.MapperScan;
  2. import org.springframework.boot.SpringApplication;
  3. import org.springframework.boot.autoconfigure.SpringBootApplication;
  4. import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
  5. @EnableDiscoveryClient
  6. @MapperScan("com.wjbgn.user.mapper")
  7. @SpringBootApplication
  8. public class RobNecessitiesUserApplication {
  9. public static void main(String[] args) {
  10. SpringApplication.run(RobNecessitiesUserApplication.class, args);
  11. }
  12. }

数据源配置,此处配置一主一从的环境,当前我只有一台,所以此处配置一样的:

  1. spring:
  2. datasource:
  3. dynamic:
  4. primary: master #设置默认的数据源或者数据源组,默认值即为master
  5. strict: false #严格匹配数据源,默认false. true未匹配到指定数据源时抛异常,false使用默认数据源
  6. datasource:
  7. master:
  8. url: jdbc:mysql://127.0.0.1:3306/rob_necessities?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone =Asia/Shanghai
  9. username: root
  10. password: 123456
  11. slave_1:
  12. url: jdbc:mysql://127.0.0.1:3306/rob_necessities?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone =Asia/Shanghai
  13. username: root
  14. password: 123456

补充:这里面因为默认使用的是HikariCP数据源,目前也推荐使用这个,相比于druid有更高的性能,但是不能忽略下面的配置,否则服务会不断抛出异常,原因是数据库的连接时常和连接池的配置没有做好。

  1. spring:
  2. datasource:
  3. dynamic:
  4. hikari:
  5. max-lifetime: 1800000
  6. connection-timeout: 5000
  7. idle-timeout: 3600000
  8. max-pool-size: 12
  9. min-idle: 4
  10. connection-test-query: /**ping*/

启动服务

得到如上结果表示启动成功了。

使用

前面我们成功的集成进来了mybatis-plus,配合springboot使用不要太方便。下面我们看看如何使用它来操作我们的数据库。介绍一下常规的用法。

QueryWrapper常用的条件参数

setSqlSelect 设置 SELECT 查询字段
where WHERE 语句,拼接 + WHERE 条件
and AND 语句,拼接 + AND 字段=值
andNew AND 语句,拼接 + AND (字段=值)
or OR 语句,拼接 + OR 字段=值
orNew OR 语句,拼接 + OR (字段=值)
eq 等于=
allEq 基于 map 内容等于=
ne 不等于<>
gt 大于>
ge 大于等于>=
lt 小于<
le 小于等于<=
like 模糊查询 LIKE
notLike 模糊查询 NOT LIKE
in IN 查询
notIn NOT IN 查询
isNull NULL 值查询
isNotNull IS NOT NULL
groupBy 分组 GROUP BY
having HAVING 关键词
orderBy 排序 ORDER BY
orderAsc ASC 排序 ORDER BY
orderDesc DESC 排序 ORDER BY
exists EXISTS 条件语句
notExists NOT EXISTS 条件语句
between BETWEEN 条件语句
notBetween NOT BETWEEN 条件语句
addFilter 自由拼接 SQL
last 拼接在最后,例如:last(“LIMIT 1”)