目录:
一、 Spring Boot 整合 MyBatis Plus
MyBatis-Plus (opens new window)(简称 MP)是一个 MyBatis (opens new window)的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。
任何能使用
MyBatis进行 CRUD, 并且支持标准 SQL 的数据库,具体支持情况如下,如果不在下列表查看分页部分教程 PR 您的支持。
MySQL,Oracle,DB2,H2,HSQL,SQLite,PostgreSQL,SQLServer,Phoenix,Gauss ,ClickHouse,Sybase,OceanBase,Firebird,Cubrid,Goldilocks,csiidb,informix,TDengine,redshift
达梦数据库,虚谷数据库,人大金仓数据库,南大通用(华库)数据库,南大通用数据库,神通数据库,瀚高数据库,优炫数据库,星瑞格数据库

引入 Spring Boot Starter 父工程:
- <parent>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-parent</artifactId>
- <version>2.5+ 版本</version>
- <relativePath/>
- </parent>
引入 spring-boot-starter、spring-boot-starter-test、mybatis-plus-boot-starter、h2 依赖:
- <dependencies>
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter</artifactId>
- </dependency>
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-test</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>com.baomidou</groupId>
- <artifactId>mybatis-plus-boot-starter</artifactId>
- <version>最新版本</version>
- </dependency>
- <dependency>
- <groupId>com.h2database</groupId>
- <artifactId>h2</artifactId>
- <scope>runtime</scope>
- </dependency>
- </dependencies>
在 application.yml 配置文件中添加 H2 数据库的相关配置:
- # DataSource Config
- spring:
- datasource:
- driver-class-name: org.h2.Driver
- username: root
- password: test
- sql:
- init:
- schema-locations: classpath:db/schema-h2.sql
- data-locations: classpath:db/data-h2.sql
在 Spring Boot 启动类中添加 @MapperScan 注解,扫描 Mapper 文件夹:
- @SpringBootApplication
- @MapperScan("com.baomidou.mybatisplus.samples.quickstart.mapper")
- public class Application {
-
- public static void main(String[] args) {
- SpringApplication.run(Application.class, args);
- }
-
- }
编写实体类 User.java(此处使用了 Lombok (opens new window)简化代码)
- @Data
- @TableName("`user`")
- public class User {
- private Long id;
- private String name;
- private Integer age;
- private String email;
- }
编写 Mapper 包下的 UserMapper接口
- public interface UserMapper extends BaseMapper<User> {
-
- }
添加测试类,进行功能测试:
- @SpringBootTest
- public class SampleTest {
-
- @Autowired
- private UserMapper userMapper;
-
- @Test
- public void testSelect() {
- System.out.println(("----- selectAll method test ------"));
- List<User> userList = userMapper.selectList(null);
- Assert.isTrue(5 == userList.size(), "");
- userList.forEach(System.out::println);
- }
-
- }
提示
UserMapper 中的
selectList()方法的参数为 MP 内置的条件封装器Wrapper,所以不填写就是无任何条件
控制台输出:
- User(id=1, name=Jone, age=18, email=test1@baomidou.com)
- User(id=2, name=Jack, age=20, email=test2@baomidou.com)
- User(id=3, name=Tom, age=28, email=test3@baomidou.com)
- User(id=4, name=Sandy, age=21, email=test4@baomidou.com)
- User(id=5, name=Billie, age=24, email=test5@baomidou.com)