MyBatis-Plus入門案例:查詢數據庫中所有記錄


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM