mybatis-plus查詢字段中含有關(guān)鍵詞時(shí)異常的問題及解決方案
問題分析思路
1.用自動(dòng)生成代碼工具生成的增刪改查代碼,發(fā)現(xiàn)都用不了
報(bào)錯(cuò)原因都是sql錯(cuò)誤。
2.然后我就把日志打印生成的sql復(fù)制到數(shù)據(jù)庫(kù)去執(zhí)行 發(fā)現(xiàn)也查詢不出來,會(huì)像下面這樣

3.查詢報(bào)錯(cuò)了,我就改變了如下的查詢方式,用select * 查出來了記錄,說明還是上面的sql有問題

4.定位問題以后,知道是sql的問題,我就看字段發(fā)現(xiàn)有一個(gè)大寫的字段好像是關(guān)鍵字,于是我就加上了反引號(hào) `order`去查詢就成功了。

5.由于查詢語句是從日志打印里面copy出來的,所以就斷定肯定也是同樣的問題導(dǎo)致的原因,此時(shí)我也斷定問題就在這里,就去網(wǎng)上找到了加上反引號(hào)的注解
@TableField("`order`")也算是學(xué)習(xí)到了新的注解用法,原來只知道
@TableField(value = "false")
這種用法
解決辦法
在實(shí)體類上加上注解并加上反引號(hào)

總結(jié)
是由于查詢的時(shí)候mybatiplus不能識(shí)別你的字段是否為關(guān)鍵字,這是需要你手動(dòng)在創(chuàng)建實(shí)體類的時(shí)候在關(guān)鍵字字段的上面加上注解@TableField("`order`")用反引號(hào)包起來。
這個(gè)反引號(hào)里面的order是一個(gè)關(guān)鍵字,包起來就可以解決了。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
java中extends與implements的區(qū)別淺談
java中extends與implements的區(qū)別淺談,需要的朋友可以參考一下2013-03-03
Java HashSet(散列集),HashMap(散列映射)的簡(jiǎn)單介紹
這篇文章主要介紹了Java HashSet(散列集),HashMap(散列映射)的簡(jiǎn)單介紹,幫助大家更好的理解和學(xué)習(xí)Java集合框架的相關(guān)知識(shí),感興趣的朋友可以了解下2021-01-01
簡(jiǎn)單介紹Java網(wǎng)絡(luò)編程中的HTTP請(qǐng)求
這篇文章主要介紹了簡(jiǎn)單介紹Java網(wǎng)絡(luò)編程中的HTTP請(qǐng)求,需要的朋友可以參考下2015-09-09
解決dubbo啟動(dòng)報(bào)服務(wù)注冊(cè)失敗Failed?to?register?dubbo
這篇文章主要介紹了解決dubbo啟動(dòng)報(bào)服務(wù)注冊(cè)失敗Failed?to?register?dubbo問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-12-12
java中循環(huán)刪除list中元素的方法總結(jié)
下面小編就為大家?guī)硪黄猨ava中循環(huán)刪除list中元素的方法總結(jié)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-12-12
SpringBoot動(dòng)態(tài)修改日志級(jí)別的操作
這篇文章主要介紹了SpringBoot動(dòng)態(tài)修改日志級(jí)別的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07
一文搞懂Java MD5算法的原理及實(shí)現(xiàn)
MD5信息摘要算法,一種被廣泛使用的密碼散列函數(shù),可以產(chǎn)生出一個(gè)128位(16字節(jié))的散列值(hash value),用于確保信息傳輸完整一致。本文將詳解MD5算法的原理及實(shí)現(xiàn),感興趣的可以了解一下2022-06-06

