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)文章
Spring數(shù)據(jù)庫連接池實現(xiàn)原理深入刨析
開發(fā)web項目,我們肯定會和數(shù)據(jù)庫打交道,因此就會涉及到數(shù)據(jù)庫鏈接的問題。在以前我們開發(fā)傳統(tǒng)的SSM結(jié)構(gòu)的項目時進(jìn)行數(shù)據(jù)庫鏈接都是通過JDBC進(jìn)行數(shù)據(jù)鏈接,我們每和數(shù)據(jù)庫打一次交道都需要先獲取一次鏈接,操作完后再關(guān)閉鏈接,這樣子效率很低,因此就出現(xiàn)了連接池2022-11-11
Spring中@Async注解執(zhí)行異步任務(wù)的方法
在業(yè)務(wù)處理中,有些業(yè)務(wù)使用異步的方式更為合理,這篇文章主要介紹了Spring中@Async注解執(zhí)行異步任務(wù)的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-06-06
Java MultipartFile實現(xiàn)上傳文件/上傳圖片
這篇文章主要介紹了Java MultipartFile實現(xiàn)上傳文件/上傳圖片,幫助大家更好的理解和使用Java,感興趣的朋友可以了解下2020-12-12
MyBatis中 #{} 和 ${} 的區(qū)別小結(jié)
MyBatis中#{}和${}是兩種占位符,本文就來介紹一下MyBatis中 #{} 和 ${} 的區(qū)別小結(jié),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-12-12
關(guān)于Spring啟動時Context加載源碼分析
這篇文章通過源碼分析主要給大家介紹了關(guān)于Spring啟動時Context加載的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2018-01-01
SpringMVC中的DispatcherServlet詳細(xì)解析
這篇文章主要介紹了SpringMVC中的DispatcherServlet詳細(xì)解析,DispatcherServlet也是一個Servlet,它也能通過Servlet的API來響應(yīng)請求,從而成為一個前端控制器,Web容器會調(diào)用Servlet的doGet()以及doPost()等方法,需要的朋友可以參考下2023-12-12

