淺談MyBatis-plus入門使用
一、初始化 SpringBoot 項目
首先使用 Spring Initializer 腳手架初始化一個 SpringBoot 項目。然后在 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ù)庫;為了簡化代碼,添加了 lombok 依賴,用于減少 getter、setter 等方法
二、創(chuàng)建數(shù)據(jù)表
創(chuàng)建用于測試的數(shù)據(jù)庫及相應(yīng)的數(shù)據(jù)表
這邊用于測試的數(shù)據(jù)庫名為 fin-services ,數(shù)據(jù)表名為 users
三、在 application.yml 中配置 mysql 信息
url 的格式:jdbc:mysql://[ip]:[port]/[db name]
四、編寫用于測試的實體類
五、編寫操作實體類的 Mapper 類
這里直接繼承 BaseMapper
類 (mybatis-plus 封裝好的類)
六、啟動類中掃描 Mapper 類
在啟動類中添加 @MapperScan
注解
里面的參數(shù)是 mapper 文件夾的路徑
七、寫一個測試類
最后寫一個測試類測試一下
運行一下這個測試方法,成功拿到查詢數(shù)據(jù)
這邊順便說幾個編碼的小技巧。這邊核心的查詢語句其實就是:
List<Users> usersList = usersMapper.selectList(null);
在編寫代碼的時候,只需要輸入 usersMapper.selectList(null).var
,然后按回車,編輯器會自動進行代碼補全:
然后編寫 for 循環(huán)的語句,對需要進行循環(huán)的變量輸入 usersList.for
,然后按回車,編輯器會自動進行代碼補全:
對變量打印輸出,只需要輸入 users.sout
,然后按回車,編輯器會自動進行代碼補全:
八、配置日志
想要查看執(zhí)行的 sql 語句,可以在 yml 文件中添加配置信息:
mybatis-plus: configuration: log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
如下圖所示,執(zhí)行時會打印出 sql 語句:
九、遇到的兩個坑
之前本人用的 lombok 1.18.10 ,項目運行的時候報了一個錯誤:
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
查了下是因為 lombok 1.18.10 與 Java16 不兼容,改用最新版本 1.18.20 解決。可以直接到 maven 官網(wǎng)查詢依賴庫的最新版本:https://mvnrepository.com/artifact/org.projectlombok/lombok
然后還有一個錯誤:
org.springframework.jdbc.BadSqlGrammarException:
### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table ‘fin-services.user' doesn't exist
這是因為之前實體類的類名為 User
,而數(shù)據(jù)庫的表名是 users
。將實體類的類名改為 Users
解決。實體類的類名,需要與數(shù)據(jù)庫的表名對應(yīng)
十、總結(jié)
現(xiàn)在可以實現(xiàn)不帶條件的數(shù)據(jù)庫的查詢,后續(xù)會補充一下查詢條件的使用。為了實現(xiàn)完整的后端服務(wù),還需要實現(xiàn)如下功能:
- 使用 MyBatis-Plus 實現(xiàn) CURD;
- 進行統(tǒng)一參數(shù)校驗;
- 后臺生成 token ,對請求進行 token 校驗
- 后臺封裝統(tǒng)一響應(yīng)體 ServerResponse ,統(tǒng)一異常處理
到此這篇關(guān)于淺談MyBatis-plus入門使用的文章就介紹到這了,更多相關(guān)MyBatis-plus內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
java數(shù)據(jù)結(jié)構(gòu)-堆實現(xiàn)優(yōu)先隊列
通常都把隊列比喻成排隊買東西,大家都很守秩序,先排隊的人就先買東西。但是優(yōu)先隊列有所不同,它不遵循先進先出的規(guī)則,而是根據(jù)隊列中元素的優(yōu)先權(quán),優(yōu)先權(quán)最大的先被取出,這篇文章主要介紹了java數(shù)據(jù)結(jié)構(gòu)-堆實現(xiàn)優(yōu)先隊列,感興趣的朋友一起看看吧2021-08-08java實現(xiàn)創(chuàng)建縮略圖、伸縮圖片比例生成的方法
這篇文章主要介紹了java實現(xiàn)創(chuàng)建縮略圖、伸縮圖片比例生成的方法,可實現(xiàn)針對圖片大小的縮放功能,是Java針對圖片操作的典型應(yīng)用,需要的朋友可以參考下2014-11-11Java Swing實現(xiàn)坦克大戰(zhàn)游戲
這篇文章主要介紹了Java Swing實現(xiàn)坦克大戰(zhàn)游戲,文中有非常詳細(xì)的代碼示例,對正在學(xué)習(xí)java的小伙伴們有很大的幫助喲,需要的朋友可以參考下2021-05-05Java設(shè)置session超時的幾種方式總結(jié)
這篇文章主要介紹了Java設(shè)置session超時的幾種方式總結(jié)的相關(guān)資料,需要的朋友可以參考下2017-07-07