MybatisPlus自帶的queryWrapper實現(xiàn)時間倒序方式
MybatisPlus自帶queryWrapper時間倒序
queryWrapper.select().orderByDesc("create_time");
使用queryWrapper解決字符串中含數(shù)字的排序問題
今天遇到了Oracle數(shù)據(jù)庫字符串(含數(shù)字)排序問題,這里記錄的是如何用MyBatis-Plus的queryWrapper條件構(gòu)造器來解決的方法。
造成的原因
- 數(shù)據(jù)庫字段為varchar類型(若為Number類型則無此問題)
- 數(shù)據(jù)庫字符串排序是按照順序一位一位比較的,按照ascII碼值比較。如:2比1大,所以12會排在2前面
解決辦法
先按字符串長度排序,再按字段排序
關(guān)鍵代碼(queryWrapper條件構(gòu)造器實現(xiàn)形式)
//利用數(shù)據(jù)庫length函數(shù)獲取字符串長度(這里的code是我數(shù)據(jù)庫中的字段名稱) queryWrapper.orderByAsc("length(code),code");
能這樣寫的原因是因為mybatis-plus的orderBy里的參數(shù)值最終是拼接在sql語句的order by后面的,并不是只能設(shè)置為數(shù)據(jù)庫的列名稱,因此只需使orderBy方法里面的參數(shù)值符合sql中的排序規(guī)則即可實現(xiàn)想要的排序結(jié)果。
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java編程實現(xiàn)數(shù)組轉(zhuǎn)成list及l(fā)ist轉(zhuǎn)數(shù)組的方法
這篇文章主要介紹了Java編程實現(xiàn)數(shù)組轉(zhuǎn)成list及l(fā)ist轉(zhuǎn)數(shù)組的方法,結(jié)合實例形式較為詳細的總結(jié)分析了java實現(xiàn)數(shù)組與list之間相互轉(zhuǎn)換的操作技巧,需要的朋友可以參考下2017-09-09SpringCloud微服務(wù)架構(gòu)實戰(zhàn)之微服務(wù)治理功能的實現(xiàn)
這篇文章主要介紹了SpringCloud微服務(wù)架構(gòu)實戰(zhàn)之微服務(wù)治理,這些治理工具主要包括服務(wù)的注冊與發(fā)現(xiàn)、負載均衡管理、動態(tài)路由、服務(wù)降級和故障轉(zhuǎn)移、鏈路跟蹤、服務(wù)監(jiān)控等,需要的朋友可以參考下2022-02-02java中String,數(shù)組,ArrayList三者之間的轉(zhuǎn)換
這篇文章主要介紹了java中String,數(shù)組,ArrayList三者之間的轉(zhuǎn)換,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01