您好,登錄后才能下訂單哦!
本文小編為大家詳細介紹“怎么用MybatisPlus自帶的queryWrapper實現時間倒序”,內容詳細,步驟清晰,細節處理妥當,希望這篇“怎么用MybatisPlus自帶的queryWrapper實現時間倒序”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。
queryWrapper.select().orderByDesc("create_time");
今天遇到了Oracle數據庫字符串(含數字)排序問題,這里記錄的是如何用MyBatis-Plus的queryWrapper條件構造器來解決的方法。
數據庫字段為varchar類型(若為Number類型則無此問題)
數據庫字符串排序是按照順序一位一位比較的,按照ascII碼值比較。如:2比1大,所以12會排在2前面
先按字符串長度排序,再按字段排序
關鍵代碼(queryWrapper條件構造器實現形式)
//利用數據庫length函數獲取字符串長度(這里的code是我數據庫中的字段名稱) queryWrapper.orderByAsc("length(code),code");
能這樣寫的原因是因為mybatis-plus的orderBy里的參數值最終是拼接在sql語句的order by后面的,并不是只能設置為數據庫的列名稱,因此只需使orderBy方法里面的參數值符合sql中的排序規則即可實現想要的排序結果。
讀到這里,這篇“怎么用MybatisPlus自帶的queryWrapper實現時間倒序”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。