一.簡介:
引用官方文檔(本文主要參考官方文檔示例):
MyBatis-Plus(簡稱 MP)是一個 MyBatis 的增強工具,在 MyBatis 的基礎上只做增強不做改變,為簡化開發、提高效率而生。
愿景
我們的愿景是成為 MyBatis 最好的搭檔,就像 魂斗羅中的 1P、2P,基友搭配,效率翻倍。(更多文檔介紹請點擊進入查看)
二.SpringBoot與MyBatis-plus的整合
這里我們使用SpringBoot引入依賴,當然非SpringBoot項目的引入也是一樣的,為了統一,這里不做過多累述.正如官方所說,mybatis-plus在mybatis的基礎上只做增強不做改變,因此其與spring的整合亦非常簡單。只需把mybatis的依賴換成mybatis-plus的依賴,再把sqlSessionFactory換成mybatis-plus的即可。接下來看具體操作:
1.pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.1.6.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.hmoe</groupId><artifactId>mybatis-plus-demo</artifactId><version>0.0.1-SNAPSHOT</version><name>mybatis-plus-demo</name><description>Demo project for Spring Boot</description><properties><java.version>1.8</java.version></properties><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>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency><!--druid==>阿里巴巴數據庫連接池--><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.0.25</version></dependency><!--2)spring dao層依賴--><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>4.3.14.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-tx</artifactId><version>4.3.14.RELEASE</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.35</version></dependency><!--mp的依賴--><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.1.2</version></dependency><dependency><groupId>com.h2database</groupId><artifactId>h2</artifactId><scope>runtime</scope></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>
2.在 application.yml
配置文件中添加 H2 數據庫的相關配置:
# DataSource Config
spring:datasource:driver-class-name: com.mysql.jdbc.Driverurl: jdbc:mysql://localhost:3306/test03username: rootpassword: test# Logger Config
logging:level:com.baomidou.mybatisplus.samples.quickstart: debug
3.數據庫建表語句
DROP TABLE IF EXISTS user;CREATE TABLE user
(id BIGINT(20) NOT NULL COMMENT '主鍵ID',name VARCHAR(30) NULL DEFAULT NULL COMMENT '姓名',age INT(11) NULL DEFAULT NULL COMMENT '年齡',email VARCHAR(50) NULL DEFAULT NULL COMMENT '郵箱',PRIMARY KEY (id)
);DELETE FROM user;INSERT INTO user (id, name, age, email) VALUES
(1, 'Jone', 18, 'test1@baomidou.com'),
(2, 'Jack', 20, 'test2@baomidou.com'),
(3, 'Tom', 28, 'test3@baomidou.com'),
(4, 'Sandy', 21, 'test4@baomidou.com'),
(5, 'Billie', 24, 'test5@baomidou.com');
4.編寫實體類 User.java
(此處使用了 Lombok 簡化代碼)
@Data
public class User {private Long id;private String name;private Integer age;private String email;
}
5.編寫Mapper類 UserMapper.java
public interface UserMapper extends BaseMapper<User> {}
6.添加測試類,進行功能測試:
@RunWith(SpringRunner.class)
@SpringBootTest
public class SampleTest {@Autowiredprivate UserMapper userMapper;@Testpublic void testSelect() {System.out.println(("----- selectAll method test ------"));List<User> userList = userMapper.selectList(null);Assert.assertEquals(5, userList.size());userList.forEach(System.out::println);}}
測試結果如下: