https://guoqianliang.blog.csdn.net/article/details/115368094
MyBatis-Plus在MyBatis的基礎上只做增強,不做改變,目的是為了簡化開發,提高效率。本專欄六篇文章圍繞MyBatis-Plus的常用技術點,結合springboot,實現了對數據庫記錄的CRUD操作,其他文章請參考:
《MyBatis-Plus入門案例:查詢數據庫中所有記錄》
《MyBatis-Plus添加:常用主鍵策略的分析及實現》
《MyBatis-Plus更新:自動填充與樂觀鎖的實現》
《MyBatis-Plus查詢:批量、條件、分頁查詢的實現》
《MyBatis-Plus刪除:物理刪除與邏輯刪除的實現》
《MyBatis-Plus高級查詢:條件構造器的實現》
作者:Hudie
個人公眾號/CSDN博客:編程一只蝶
項目已開源至gitee:https://gitee.com/guo-qianliang/mybatis-plus-test
項目已開源至github:https://github.com/Guoqianliang/mybatis-plus-test
文章目錄
MyBatis-Plus入門案例:查詢數據庫中所有記錄
步驟1:創建數據庫和表
步驟2:創建springboot工程並引入依賴
(1) 創建springboot工程
(2) 創建User實體類
(3) 引入mybatis-plus和mysql的依賴
步驟4:配置數據庫信息
✔ 探討關於jdbc版本的選擇問題
步驟5:繼承BaseMapper接口(核心)
開始測試
流程分析:通過日志查看底層sql源碼
MyBatis-Plus入門案例:查詢數據庫中所有記錄
步驟1:創建數據庫和表
首先在數據庫中創建名為MyBatis_plus的數據庫。然后在該數據庫中創建一張user用戶表,並添加幾行數據:
// 創建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)
);
// 向user表添加數據
INSERT INTO USER(id, NAME, age, email)VALUES
(1, 'Jone', 18, 'test1@qq.com'),
(2, 'Jack', 20, 'test2@qq.com'),
(3, 'Tom', 28, 'test3@qq.com'),
(4, 'Sandy', 21, 'test4@qq.com'),
(5, 'Billie', 24, 'test5@qq.com');
步驟2:創建springboot工程並引入依賴
(1) 創建springboot工程
使用Spring Initializr創建springboot工程,這里設置mybatis-plus-test為工程名。
本次實驗使用springboot2.2.1版本。
(2) 創建User實體類
另外,需要在項目中創建User實體類與數據庫中的User表對應:
import lombok.Data;
@Data
public class User {
private Long id;
private String name;
private Integer age;
private String email;
}
(3) 引入mybatis-plus和mysql的依賴
下面的pom代碼中,給出了3個依賴,分別是mybatis-plus、mysql驅動、lombok。其中的lombok必須配合插件使用,主要是為了簡化實體類的編寫,因為其可以通過注解來自動生成getter和setter方法。
<!--mybatis-plus-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.3.1</version>
</dependency>
<!--mysql依賴-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!--lombok用來簡化實體類(自動生成getter和setter方法)-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
步驟4:配置數據庫信息
在 application.properties 配置文件中添加數據庫相關配置:
spring boot 2.0(內置jdbc5驅動)配置方式,本項目不使用。
#mysql數據庫連接
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://[ip地址]:3306/mybatis_plus?characterEncoding=utf-8&useSSL=false
spring.datasource.username=root
spring.datasource.password=[xxxx]
spring boot 2.1及以上(內置jdbc8驅動),本項目使用springboot2.2.1,所以選擇這種配置方式。
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://[ip地址]:3306/mybatis_plus?serverTimezone=GMT%2B8
spring.datasource.username=root
spring.datasource.password=[xxxx]
✔ 探討關於jdbc版本的選擇問題
jdbc8.0版本的jdbc驅動的url需要添加 ?serverTimezone=GMT%2B8后綴,否則會出現報錯。另外,在jdbc8.0中也建議使用com.mysql.cj.jdbc.Driver這個驅動來代替com.mysql.jdbc.Driver,否則可能會出現運行報錯的情況。
步驟5:繼承BaseMapper接口(核心)
繼承BaseMapper接口后,無需編寫 mapper.xml 文件,即可獲得CRUD功能。
開始測試
@SpringBootTest
class MybatisPlusTestApplicationTests {
@Autowired
private UserMapper userMapper;
@Test
public void findAll() {
List<User> users = userMapper.selectList(null);
System.out.println(users);
}
}
上面這條查詢語句執行后,成功遍歷出了數據庫中的信息:
流程分析:通過日志查看底層sql源碼
通過配置下面一條語句,可以實現,在執行時顯示底層sql源碼的功能,便於后期排查問題,了解即可。
# 查看mybatis日志
mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
至此,MyBatis-Plus入門案例之查詢數據庫中所有記錄的操作就完成了!可以發現,我們即沒有寫sql語句也沒有寫xml配置文件,只是讓接口繼承了Basemapper,然后直接調用了方法而已。
————————————————
版權聲明:本文為CSDN博主「Hudie.」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/weixin_43691058/article/details/115368094