1、添加依赖

引入 Spring Boot Starter 父工程:

  1. <parent>
  2. <groupId>org.springframework.boot</groupId>
  3. <artifactId>spring-boot-starter-parent</artifactId>
  4. <version>undefined</version>
  5. <relativePath/>
  6. </parent>

引入 spring-boot-starterspring-boot-starter-testmybatis-plus-boot-starterh2 依赖:

  1. <dependencies>
  2. <dependency>
  3. <groupId>org.springframework.boot</groupId>
  4. <artifactId>spring-boot-starter</artifactId>
  5. </dependency>
  6. <dependency>
  7. <groupId>org.springframework.boot</groupId>
  8. <artifactId>spring-boot-starter-test</artifactId>
  9. <scope>test</scope>
  10. </dependency>
  11. <dependency>
  12. <groupId>com.baomidou</groupId>
  13. <artifactId>mybatis-plus-boot-starter</artifactId>
  14. <version>Latest Version</version>
  15. </dependency>
  16. </dependencies>

2、配置

application.yml 配置文件中添加 mysql 数据库的相关配置:

  1. # DataSource Config
  2. spring:
  3. datasource:
  4. driver-class-name: com.mysql.cj.jdbc.Driver
  5. url: jdbc:mysql://localhost:3306/shopdb?serverTimezone=Asia/Shanghai
  6. username: root

日志配置

  1. #mybatis-plus
  2. mybatis-plus:
  3. configuration:
  4. log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
  5. type-aliases-package: com.entity

在 Spring Boot 启动类中添加 @MapperScan 注解,扫描 Mapper 文件夹:

  1. @SpringBootApplication
  2. @MapperScan("com.jie.mapper")
  3. public class Application {
  4. public static void main(String[] args) {
  5. SpringApplication.run(QuickStartApplication.class, args);
  6. }
  7. }

3、使用

CRUD接口:https://mp.baomidou.com/guide/crud-interface.html

image.png

3.1、注解

  1. @TableName(value="表名")
  2. @TableId(value="?",type= IdType.?)
  3. AUTO(0), NONE(1), INPUT(2), ASSIGN_ID(3), ASSIGN_UUID(4),
  4. @tableFiled(value="")

3.2、分页插件

  1. //Spring boot方式
  2. @Configuration
  3. @MapperScan("com.jie.dao")
  4. public class MybatisPlusConfig {
  5. // 旧版
  6. @Bean
  7. public PaginationInterceptor paginationInterceptor() {
  8. PaginationInterceptor paginationInterceptor = new PaginationInterceptor();
  9. // 设置请求的页面大于最大页后操作, true调回到首页,false 继续请求 默认false
  10. // paginationInterceptor.setOverflow(false);
  11. // 设置最大单页限制数量,默认 500 条,-1 不受限制
  12. // paginationInterceptor.setLimit(500);
  13. // 开启 count 的 join 优化,只针对部分 left join
  14. paginationInterceptor.setCountSqlParser(new JsqlParserCountOptimize(true));
  15. return paginationInterceptor;
  16. }
  17. // 最新版
  18. @Bean
  19. public MybatisPlusInterceptor mybatisPlusInterceptor() {
  20. MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
  21. interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.H2));
  22. return interceptor;
  23. }
  24. }

h2database为我们提供了十分轻量,十分快捷方便的内嵌式数据库

H2是一个用Java开发的嵌入式数据库,它本身只是一个类库,可以直接嵌入到应用项目中。
可以同应用程序打包在一起发布
它的另一个用途是用于单元测试。启动速度快,而且可以关闭持久化功能,每一个用例执行完随即还原到初始状态
提供JDBC访问接口,提供基于浏览器的控制台,可以执行sql
免费,开源,够快
还方便了程序刚开始dao层单元测试测试,不需要搭建oracle,不需要加载mysql,快速测试写的dao