欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

淺談MyBatis-plus入門使用

 更新時(shí)間:2021年05月24日 15:40:13   作者:天貓精靈998  
這幾天本人了解到了MyBatis-plus,一個(gè) Mybatis 增強(qiáng)工具包.經(jīng)過一番研究,發(fā)現(xiàn)這玩意真的好用,不用寫任何 xml ,內(nèi)置通用的 Mapper,而且完全是面向?qū)ο缶幊?文檔給的示例代碼,跟之前用過的 sequelize (Node.js 的 ORM)非常像,因此本人也嘗試了一把, 需要的朋友可以參考下

一、初始化 SpringBoot 項(xiàng)目

首先使用 Spring Initializer 腳手架初始化一個(gè) SpringBoot 項(xiàng)目。然后在 pom.xml 中添加相關(guān)的依賴:

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <scope>runtime</scope>
</dependency>
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.20</version>
</dependency>
 <dependency>
     <groupId>com.baomidou</groupId>
     <artifactId>mybatis-plus-boot-starter</artifactId>
     <version>3.4.2</version>
</dependency>

mysql 依賴用于連接數(shù)據(jù)庫(kù);為了簡(jiǎn)化代碼,添加了 lombok 依賴,用于減少 getter、setter 等方法

二、創(chuàng)建數(shù)據(jù)表

創(chuàng)建用于測(cè)試的數(shù)據(jù)庫(kù)及相應(yīng)的數(shù)據(jù)表

在這里插入圖片描述

這邊用于測(cè)試的數(shù)據(jù)庫(kù)名為 fin-services ,數(shù)據(jù)表名為 users

三、在 application.yml 中配置 mysql 信息

url 的格式:jdbc:mysql://[ip]:[port]/[db name]

在這里插入圖片描述

四、編寫用于測(cè)試的實(shí)體類

在這里插入圖片描述

五、編寫操作實(shí)體類的 Mapper 類

這里直接繼承 BaseMapper 類 (mybatis-plus 封裝好的類)

在這里插入圖片描述

六、啟動(dòng)類中掃描 Mapper 類

在啟動(dòng)類中添加 @MapperScan 注解

在這里插入圖片描述

里面的參數(shù)是 mapper 文件夾的路徑

七、寫一個(gè)測(cè)試類

最后寫一個(gè)測(cè)試類測(cè)試一下

在這里插入圖片描述

運(yùn)行一下這個(gè)測(cè)試方法,成功拿到查詢數(shù)據(jù)

在這里插入圖片描述

這邊順便說幾個(gè)編碼的小技巧。這邊核心的查詢語句其實(shí)就是:

List<Users> usersList = usersMapper.selectList(null);

在編寫代碼的時(shí)候,只需要輸入 usersMapper.selectList(null).var ,然后按回車,編輯器會(huì)自動(dòng)進(jìn)行代碼補(bǔ)全:

在這里插入圖片描述

然后編寫 for 循環(huán)的語句,對(duì)需要進(jìn)行循環(huán)的變量輸入 usersList.for ,然后按回車,編輯器會(huì)自動(dòng)進(jìn)行代碼補(bǔ)全:

在這里插入圖片描述

對(duì)變量打印輸出,只需要輸入 users.sout ,然后按回車,編輯器會(huì)自動(dòng)進(jìn)行代碼補(bǔ)全:

在這里插入圖片描述

八、配置日志

想要查看執(zhí)行的 sql 語句,可以在 yml 文件中添加配置信息:

mybatis-plus:
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

如下圖所示,執(zhí)行時(shí)會(huì)打印出 sql 語句:

在這里插入圖片描述

九、遇到的兩個(gè)坑

之前本人用的 lombok 1.18.10 ,項(xiàng)目運(yùn)行的時(shí)候報(bào)了一個(gè)錯(cuò)誤:

java: java.lang.IllegalAccessError: class lombok.javac.apt.LombokProcessor (in unnamed module @0x55a9b697) cannot access class com.sun.tools.javac.processing.JavacProcessingEnvironment (in module jdk.compiler) because module jdk.compiler does not export com.sun.tools.javac.processing to unnamed module @0x55a9b697

查了下是因?yàn)?lombok 1.18.10 與 Java16 不兼容,改用最新版本 1.18.20 解決。可以直接到 maven 官網(wǎng)查詢依賴庫(kù)的最新版本:https://mvnrepository.com/artifact/org.projectlombok/lombok

然后還有一個(gè)錯(cuò)誤:

org.springframework.jdbc.BadSqlGrammarException:
### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table ‘fin-services.user' doesn't exist

這是因?yàn)橹皩?shí)體類的類名為 User ,而數(shù)據(jù)庫(kù)的表名是 users 。將實(shí)體類的類名改為 Users 解決。實(shí)體類的類名,需要與數(shù)據(jù)庫(kù)的表名對(duì)應(yīng)

十、總結(jié)

現(xiàn)在可以實(shí)現(xiàn)不帶條件的數(shù)據(jù)庫(kù)的查詢,后續(xù)會(huì)補(bǔ)充一下查詢條件的使用。為了實(shí)現(xiàn)完整的后端服務(wù),還需要實(shí)現(xiàn)如下功能:

  • 使用 MyBatis-Plus 實(shí)現(xiàn) CURD;
  • 進(jìn)行統(tǒng)一參數(shù)校驗(yàn);
  • 后臺(tái)生成 token ,對(duì)請(qǐng)求進(jìn)行 token 校驗(yàn)
  • 后臺(tái)封裝統(tǒng)一響應(yīng)體 ServerResponse ,統(tǒng)一異常處理

到此這篇關(guān)于淺談MyBatis-plus入門使用的文章就介紹到這了,更多相關(guān)MyBatis-plus內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • java中redissonClient 分布式鎖的使用

    java中redissonClient 分布式鎖的使用

    在集群的情況下,用戶多次請(qǐng)求接口時(shí),存入的內(nèi)容可能會(huì)導(dǎo)致重復(fù),這時(shí)候就可以使用分布式鎖來限制,本文就來介紹一下java中redissonClient 分布式鎖的使用,感興趣的可以了解一下
    2024-03-03
  • MyBatis-Plus 如何單元測(cè)試的實(shí)現(xiàn)

    MyBatis-Plus 如何單元測(cè)試的實(shí)現(xiàn)

    這篇文章主要介紹了MyBatis-Plus 如何單元測(cè)試的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • java數(shù)據(jù)結(jié)構(gòu)-堆實(shí)現(xiàn)優(yōu)先隊(duì)列

    java數(shù)據(jù)結(jié)構(gòu)-堆實(shí)現(xiàn)優(yōu)先隊(duì)列

    通常都把隊(duì)列比喻成排隊(duì)買東西,大家都很守秩序,先排隊(duì)的人就先買東西。但是優(yōu)先隊(duì)列有所不同,它不遵循先進(jìn)先出的規(guī)則,而是根據(jù)隊(duì)列中元素的優(yōu)先權(quán),優(yōu)先權(quán)最大的先被取出,這篇文章主要介紹了java數(shù)據(jù)結(jié)構(gòu)-堆實(shí)現(xiàn)優(yōu)先隊(duì)列,感興趣的朋友一起看看吧
    2021-08-08
  • java實(shí)現(xiàn)創(chuàng)建縮略圖、伸縮圖片比例生成的方法

    java實(shí)現(xiàn)創(chuàng)建縮略圖、伸縮圖片比例生成的方法

    這篇文章主要介紹了java實(shí)現(xiàn)創(chuàng)建縮略圖、伸縮圖片比例生成的方法,可實(shí)現(xiàn)針對(duì)圖片大小的縮放功能,是Java針對(duì)圖片操作的典型應(yīng)用,需要的朋友可以參考下
    2014-11-11
  • Java模板引擎Thymeleaf基本語法詳解

    Java模板引擎Thymeleaf基本語法詳解

    當(dāng)開發(fā)Web應(yīng)用程序時(shí),我們通常需要使用模板引擎來構(gòu)建和呈現(xiàn)動(dòng)態(tài)內(nèi)容,Thymeleaf是一個(gè)功能強(qiáng)大的Java模板引擎,它提供了豐富的表達(dá)式和標(biāo)簽,使得數(shù)據(jù)綁定、條件判斷、循環(huán)迭代等操作變得輕松而靈活,本文就簡(jiǎn)單的給大家介紹一下Thymeleaf基本語法
    2023-08-08
  • java中this與super關(guān)鍵字的使用方法

    java中this與super關(guān)鍵字的使用方法

    這篇文章主要介紹了java中this與super關(guān)鍵字的使用方法的相關(guān)資料,希望通過本文能幫助到大家,讓大家徹底理解應(yīng)用java中this與super,需要的朋友可以參考下
    2017-09-09
  • Java Swing實(shí)現(xiàn)坦克大戰(zhàn)游戲

    Java Swing實(shí)現(xiàn)坦克大戰(zhàn)游戲

    這篇文章主要介紹了Java Swing實(shí)現(xiàn)坦克大戰(zhàn)游戲,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)java的小伙伴們有很大的幫助喲,需要的朋友可以參考下
    2021-05-05
  • Java 十大排序算法之選擇排序刨析

    Java 十大排序算法之選擇排序刨析

    選擇排序是一種簡(jiǎn)單直觀的排序算法,無論什么數(shù)據(jù)進(jìn)去都是 O(n&sup2;) 的時(shí)間復(fù)雜度。所以用到它的時(shí)候,數(shù)據(jù)規(guī)模越小越好。唯一的好處可能就是不占用額外的內(nèi)存空間了吧
    2021-11-11
  • Java設(shè)置session超時(shí)的幾種方式總結(jié)

    Java設(shè)置session超時(shí)的幾種方式總結(jié)

    這篇文章主要介紹了Java設(shè)置session超時(shí)的幾種方式總結(jié)的相關(guān)資料,需要的朋友可以參考下
    2017-07-07
  • Java中如何靈活獲取excel中的數(shù)據(jù)

    Java中如何靈活獲取excel中的數(shù)據(jù)

    這篇文章主要給大家介紹了關(guān)于Java中如何靈活獲取excel中的數(shù)據(jù),在日常工作中我們常常會(huì)進(jìn)行文件讀寫操作,除去我們最常用的純文本文件讀寫,更多時(shí)候我們需要對(duì)Excel中的數(shù)據(jù)進(jìn)行讀取操作,需要的朋友可以參考下
    2023-07-07

最新評(píng)論