App下載

分享關(guān)于MyBatis-plus的簡(jiǎn)單應(yīng)用 實(shí)例代碼展示

猿友 2021-07-26 11:43:06 瀏覽數(shù) (1993)
反饋

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

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

<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 依賴(lài)用于連接數(shù)據(jù)庫(kù);為了簡(jiǎn)化代碼,添加了 lombok 依賴(lài),用于減少 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]

2021052415333463

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

2021052415333464

五、編寫(xiě)操作實(shí)體類(lèi)的 Mapper 類(lèi)

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

2021052415333565

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

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

在這里插入圖片描述

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

七、寫(xiě)一個(gè)測(cè)試類(lèi)

最后寫(xiě)一個(gè)測(cè)試類(lèi)測(cè)試一下

2021052415333567

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

2021052415333568

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

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

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

2021052415333569

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

在這里插入圖片描述

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

在這里插入圖片描述

八、配置日志

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

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

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

2021052415333672

九、遇到的兩個(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)查詢(xún)依賴(lài)庫(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í)體類(lèi)的類(lèi)名為 User ,而數(shù)據(jù)庫(kù)的表名是 users 。將實(shí)體類(lèi)的類(lèi)名改為 Users 解決。實(shí)體類(lèi)的類(lèi)名,需要與數(shù)據(jù)庫(kù)的表名對(duì)應(yīng)

十、總結(jié)

現(xiàn)在可以實(shí)現(xiàn)不帶條件的數(shù)據(jù)庫(kù)的查詢(xún),后續(xù)會(huì)補(bǔ)充一下查詢(xún)條件的使用。為了實(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 簡(jiǎn)單應(yīng)用的全部?jī)?nèi)容,想要了解更多相關(guān) MyBatis-plus 其他內(nèi)容請(qǐng)搜索W3Cschool以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持我們!


0 人點(diǎn)贊