MyBatis-plus數(shù)據(jù)庫(kù)字段排序不準(zhǔn)確的解決
MyBatis-plus數(shù)據(jù)庫(kù)字段排序不準(zhǔn)確
今天用mybatis-plus進(jìn)行開(kāi)發(fā)的時(shí)候遇到一個(gè)問(wèn)題,就是用mysql自帶的排序進(jìn)行數(shù)據(jù)排序的時(shí)候,發(fā)現(xiàn)排序的數(shù)據(jù)不準(zhǔn)確。
例如:12還沒(méi)有8,4,2大,這就很郁悶了
后來(lái)在網(wǎng)上查了一下,原來(lái)是自己給自己挖的坑,數(shù)據(jù)庫(kù)排序字段用的是varcher類型,而排序函數(shù)針對(duì)的是number類型。
解決方案
對(duì)于mysql和oracle都實(shí)用
- order by 字段+0
- order by 字段*1
因?yàn)橛玫氖莔ybatis-plus,不想寫sql怎么辦呢?那就用自帶的排序函數(shù)嘍。排序字段直接"+1"就Ok了
//倒敘 queryWrapper.orderByDesc("visit_num+1");
Mybatis-plus遇到的坑
1. 數(shù)據(jù)庫(kù)映射枚舉
不能是tinyint(1),tinyint(1)默認(rèn)是boolean類型
2. 自增主鍵
數(shù)據(jù)庫(kù)設(shè)置了自增主鍵后,po類需要增加@TableId(type = IdType.AUTO),或者不要id字段才能生效。
否則會(huì)自動(dòng)分配id,如下圖:
3. mybatis嵌套查詢
子查詢中需要查出唯一標(biāo)識(shí)
4. 用updateWrapper的update做更新操作
更新時(shí)間沒(méi)有更新問(wèn)題
數(shù)據(jù)庫(kù)updateTime設(shè)置了 DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,仍然不會(huì)自動(dòng)更新時(shí)間,需要手動(dòng)設(shè)置當(dāng)前時(shí)間,或者用updateById方法
5. 使用lambaQuery時(shí)
參數(shù)為空會(huì)帶入到SQL中(branch_code = null),需要手動(dòng)過(guò)濾,或者在eq中增加條件
6. Integer判斷為空
7. 基礎(chǔ)類型的判斷
customerIssueFlag定義的是String類型,值是Y or N
8. 事務(wù)
9. mybatis 配置了多個(gè)數(shù)據(jù)庫(kù)
除了主數(shù)據(jù)源對(duì)應(yīng)的mapper.java,都不能加 @Mapper 注解,否則會(huì)報(bào)找不到
由于使用了mybatis-plus的包,默認(rèn)自動(dòng)全包掃描@Mapper注解。mybatis掃描生成的Mapper比其他自定義配置的bean生成對(duì)應(yīng)的Mapper對(duì)象塊,而自定義的mybatis@MapperScan后掃描,Dao Bean已經(jīng)生成了,無(wú)法再指定數(shù)據(jù)源進(jìn)行注入了。
所以如果在 @Configrution注解類中指定了掃描類,就不用再加 @Mapper注解了
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
java實(shí)現(xiàn)簡(jiǎn)單音樂(lè)播放器
這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)簡(jiǎn)單音樂(lè)播放器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-06-06springboot啟動(dòng)腳本start.sh和停止腳本 stop.sh的詳細(xì)教程
這篇文章主要介紹了springboot啟動(dòng)腳本start.sh和停止腳本 stop.sh的詳細(xì)教程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-08-08在RedHat系統(tǒng)上安裝JDK與Tomcat的步驟
這篇文章主要介紹了在RedHat系統(tǒng)上安裝Java與Tomcat的步驟,同樣適用于CentOS等RedHat系的Linux系統(tǒng),需要的朋友可以參考下2015-11-11解決Mybatis-plus自定義TypeHandler查詢映射結(jié)果一直為null問(wèn)題
這篇文章主要介紹了解決Mybatis-plus自定義TypeHandler查詢映射結(jié)果一直為null問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-07-07