MybatisPlus入门案例
一、創建并初始化數據庫
1、創建數據庫:
mybatis_plus2、創建?User?表
其表結構如下:| 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 |
其對應的數據庫 Schema 腳本如下:
DROP TABLE IF EXISTS user; 2 3 CREATE TABLE user 4 ( 5id BIGINT(20) NOT NULL COMMENT '主鍵ID', 6name VARCHAR(30) NULL DEFAULT NULL COMMENT '姓名', 7age INT(11) NULL DEFAULT NULL COMMENT '年齡', 8email VARCHAR(50) NULL DEFAULT NULL COMMENT '郵箱', 9PRIMARY KEY (id) 10 );其對應的數據庫 Data 腳本如下:
DELETE FROM user; 2 3 INSERT INTO user (id, name, age, email) VALUES 4 (1, 'Jone', 18, 'test1@baomidou.com'), 5 (2, 'Jack', 20, 'test2@baomidou.com'), 6 (3, 'Tom', 28, 'test3@baomidou.com'), 7 (4, 'Sandy', 21, 'test4@baomidou.com'), 8 (5, 'Billie', 24, 'test5@baomidou.com');二、初始化工程
使用 Spring Initializr 快速初始化一個 Spring Boot 工程
Group:com.leon
Artifact:mybatis-plus
版本:2.2.1.RELEASE
?
三、添加依賴
1、引入依賴
spring-boot-starter、spring-boot-starter-test
添加:mybatis-plus-boot-starter、MySQL、lombok、
在項目中使用Lombok可以減少很多重復代碼的書寫。比如說getter/setter/toString等方法的編寫
<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><exclusions><exclusion><groupId>org.junit.vintage</groupId><artifactId>junit-vintage-engine</artifactId></exclusion></exclusions></dependency><!--mybatis-plus--><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.0.5</version></dependency><!--mysql--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId></dependency><!--lombok用來簡化實體類--><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency></dependencies>四、配置
在?application.properties?配置文件中添加 MySQL 數據庫的相關配置:
mysql5
#mysql數據庫連接spring.datasource.driver-class-name=com.mysql.jdbc.Driverspring.datasource.url=jdbc:mysql://localhost:3306/mybatis_plusspring.datasource.username=rootspring.datasource.password=123456mysql8以上(spring boot 2.1)
注意:driver和url的變化
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driverspring.datasource.url=jdbc:mysql://localhost:3306/mybatis_plus?serverTimezone=GMT%2B8spring.datasource.username=rootspring.datasource.password=123456注意:
1、這里的?url?使用了??serverTimezone=GMT%2B8?后綴,因為Spring Boot 2.1 集成了 8.0版本的jdbc驅動,這個版本的 jdbc 驅動需要添加這個后綴,否則運行測試用例報告如下錯誤:
java.sql.SQLException: The server time zone value '?D1ú±ê×?ê±??' is unrecognized or represents more?
2、這里的?driver-class-name?使用了??com.mysql.cj.jdbc.Driver?,在 jdbc 8 中 建議使用這個驅動,之前的 com.mysql.jdbc.Driver 已經被廢棄,否則運行測試用例的時候會有 WARN 信息
五、編寫代碼
1、主類
在 Spring Boot 啟動類中添加?@MapperScan?注解,掃描 Mapper 文件夾 注意:掃描的包名根據實際情況修改 @SpringBootApplication@MapperScan("com.leon.mybatisplus.mapper")public class MybatisPlusApplication {......}2、實體
創建包?entity?編寫實體類?User.java(此處使用了?Lombok?簡化代碼)
@Data public class User {private Long id;private String name;private Integer age;private String email;}Lombok使用參考:
https://blog.csdn.net/motui/article/details/79012846
3、mapper
創建包?mapper?編寫Mapper?接口:?UserMapper.java public interface UserMapper extends BaseMapper<User> {}六、開始使用
添加測試類,進行功能測試:
@RunWith(SpringRunner.class)@SpringBootTestpublic class MybatisPlusApplicationTests {@Autowiredprivate UserMapper userMapper;@Testpublic void testSelectList() {System.out.println(("----- selectAll method test ------"));//UserMapper 中的 selectList() 方法的參數為 MP 內置的條件封裝器 Wrapper//所以不填寫就是無任何條件List<User> users = userMapper.selectList(null);users.forEach(System.out::println);}}注意:
IDEA在 userMapper 處報錯,因為找不到注入的對象,因為類是動態創建的,但是程序可以正確的執行。
為了避免報錯,可以在 dao 層 的接口上添加?@Repository?注
控制臺輸出:
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)通過以上幾個簡單的步驟,我們就實現了 User 表的 CRUD 功能,甚至連 XML 文件都不用編寫!
七、配置日志
查看sql輸出日志
#mybatis日志mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl?
總結
以上是生活随笔為你收集整理的MybatisPlus入门案例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MybatisPlus介绍
- 下一篇: MybatisPlus添加操作