国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Mybatis ,Mybatis-plus列表多字段排序,包含sql以及warpper

這篇具有很好參考價值的文章主要介紹了Mybatis ,Mybatis-plus列表多字段排序,包含sql以及warpper。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

根據(jù) mybatis 根據(jù)多字段排序已經(jīng)wrapper 根據(jù)多字段排序

首先根據(jù)咱們返回前端的數(shù)據(jù)列來規(guī)劃好排序字段
如下:
Mybatis ,Mybatis-plus列表多字段排序,包含sql以及warpper,mybatis,sql,數(shù)據(jù)庫
這里的字段為返回VO的字段,要轉換成數(shù)據(jù)庫字段然后加入到排序中
示例,穿了 surname,cerRank 多字段,然后是倒序 false

Mybatis ,Mybatis-plus列表多字段排序,包含sql以及warpper,mybatis,sql,數(shù)據(jù)庫
首先創(chuàng)建好映射,如下代碼,第一個List 為前端字段VO, 第二個List 為數(shù)據(jù)庫字段。Util.handle 是將兩個轉換為map,然后就可以做映射啦。下面也寫啦handle的方法。

    Map<String,String> SORTCOLUMNMAP =
            Util.handle(Arrays.asList("surname","idcardNum","cerCode","cerType","cerRank","permissionTime","expirationTime"),
                    Arrays.asList("surname","idcard_num","cer_code","cer_type","cer_rank","permission_time","expiration_time"));
    /**
     * 將兩個list轉換為Map
     * @author ZMH
     * @return Map<String, String>
     */
    public static Map<String, String> handle(List<String> list1, List<String> list2) {
        Map<String, String> map = IntStream.range(0, list1.size())
                .collect(HashMap::new, (m, i) -> m.put(list1.get(i), list2.get(i)), (m, n) -> {
        });
        return map;
    }

到這里之后我們就做一個轉換的方法吧,然后這里測試如下,結果為surname,cer_rank 成功的改為了數(shù)據(jù)庫字段,然后就可以加入到wrapper和sql 中啦。

    /**
     * 獲取轉換后的排序字
     * @author ZMH
     * @date 31/7/2023 2:13 下午
     */
    public static String getColumns (Map<String, String> sortColumnMap,String orderByColumns){
        List<String> orderByColumnList = Arrays.asList(orderByColumns.split(","));
        AtomicInteger i = new AtomicInteger();
        AtomicReference<String> columns = new AtomicReference<>("");
        orderByColumnList.forEach(
                column -> {
                    columns.set(columns.get()+sortColumnMap.get(column));
                    if (i.getAndIncrement() != (orderByColumnList.size()-1)) {
                        columns.set(columns.get()+",");
                    }
                });
        return columns.get();
    }

Mybatis ,Mybatis-plus列表多字段排序,包含sql以及warpper,mybatis,sql,數(shù)據(jù)庫

sql的話大家應該都知道怎么寫,就不寫sql的啦。寫一個wrapper 的列子,如下:文章來源地址http://www.zghlxwxcb.cn/news/detail-621555.html

        queryCondition(queryWrapper,dto);//查詢條件封裝的方法都是一些判斷
        if (StringUtils.isNotBlank(dto.getOrderByColumns())){
            String order = dto.getOrderByAsc() ? "asc" : "desc";//正序倒序 
            String columns = Util.getColumns(baseMapper.SORTCOLUMNMAP, dto.getOrderByColumns());//獲取數(shù)據(jù)庫字段
            queryWrapper.last(" order by ".concat(columns).concat(" ").concat(order));//最后拼接到wrapper 里面就可以來啦.
        }else {
            queryWrapper.orderByDesc(GzhExamCertificate::getCerCode);
        }

到了這里,關于Mybatis ,Mybatis-plus列表多字段排序,包含sql以及warpper的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • mybatis-plus 根據(jù)指定字段 批量 刪除/修改

    mybatis-plus 根據(jù)指定字段 批量 刪除/修改

    mybatis-plus 提供了根據(jù)id批量更新和修改的方法,這個大家都不陌生 但是當表沒有id的時候怎么辦) 這個就不說了,就是因為不想手寫SQL 所以才有這篇博客 mybatis plus 的 executeBatch 參考 mybatis plus 的updateBatchById 方法. 調用處: 接口 重寫方法 實現(xiàn) 這種寫法其實批量的效率還是比較慢的

    2024年02月13日
    瀏覽(17)
  • mybatis-plus更新字段為null值

    mybatis-plus更新字段為null值

    mybatis-plus相信大家都不陌生所以不在介紹 首先我們先看一下mybatis-plus的官網(wǎng)上的介紹 ?官網(wǎng)推薦的有三種方式可以實現(xiàn) 第一種:調整全局策略, mybatis-plus默認的全局策略為NOT_NULL非空默認策略,其實就是當更新是某個字段為空,則不對該字段進行更新,這也是我們常用的策略所此種

    2024年02月14日
    瀏覽(25)
  • MyBatis-Plus如何將字段修改為空值

    不推薦使用原因:作用范圍太廣,調用MyBatis-Plus封裝的update會不經(jīng)意將字段改為空 不推薦使用原因:相對于方案一作用范圍相對較小,但調用MyBatis-Plus封裝的update也會不經(jīng)意將字段改為空 推薦原因:不影響任何地方只在此處生效

    2024年02月16日
    瀏覽(15)
  • Mybatis-Plus處理Mysql Json類型字段

    Mybatis-Plus處理Mysql Json類型字段

    Mysql 5.7.8開始支持Json對象和Json數(shù)組,但在Mysql 8版本中使用Json性能更佳。 使用Json格式的好處: 無須預定義字段:字段可以無限拓展,避免了ALTER ADD COLUMN的操作,使用更加靈活。 處理稀疏字段:避免了稀疏字段的NULL值,避免冗余存儲。 支持索引:相比于字符串格式的JSON,

    2024年02月03日
    瀏覽(28)
  • Mybatis-plus通過其他字段批量更新或新增

    根據(jù)某個或者多個非ID字段進行批量更新 示例通過名稱與id兩個字段更新 引用mybatis-plus根據(jù)某個指定字段批量更新數(shù)據(jù)庫 通過其他字段批量更新或新增

    2024年02月12日
    瀏覽(19)
  • mybatis-plus 數(shù)據(jù)字段進行加解密入庫,且加密字段支持模糊搜索

    mybatis-plus 數(shù)據(jù)字段進行加解密入庫,且加密字段支持模糊搜索

    1. 開發(fā)框架、環(huán)境 springboot+mybatis-plus+mysql5.7(oracle應該也是可以的,沒有測試,但實現(xiàn)思路是都可以滿足,懶得測oracle了,哈哈) 2. 需求介紹(背景) 需求很簡單: 就是將數(shù)據(jù)存儲到數(shù)據(jù)庫,并且將敏感數(shù)據(jù)字段進行加密處理保存(比如:身份證,手機號,銀行卡 等等)

    2024年02月09日
    瀏覽(17)
  • SpringBoot - MyBatis-Plus - 如何在查詢時排除某些字段?

    寫在前面 查詢時部分字段不想給前端顯示,怎么辦? (1)使用SELECT方法,排除字段\\\"password\\\" (2)使用SELECT方法,只顯示某些字段 (3)使用@TableField(exist = false),排除某些字段 注:表示當前屬性不是數(shù)據(jù)庫的字段,但在項目中必須使用,這樣的話在新增/查詢等使用BEAN時,

    2024年02月12日
    瀏覽(16)
  • mybatis-plus之排序查詢

    mybatis-plus之排序查詢

    一、orderByAsc 排序:ORDER BY 字段, ... ASC 例:? orderByAsc(\\\"id\\\", \\\"name\\\") --- order by id ASC,name ASC #二、orderByDesc 排序:ORDER BY 字段, ... DESC 例:? orderByDesc(\\\"id\\\", \\\"name\\\") --- order by id DESC,name DESC #三、orderBy 排序:ORDER BY 字段, ... 例:? orderBy(true, true, \\\"id\\\", \\\"name\\\") --- order by id ASC,name ASC ?倒敘排序 ?

    2024年02月15日
    瀏覽(27)
  • spring boot集成mybatis-plus——Mybatis Plus 多表聯(lián)查(包含分頁關聯(lián)查詢,圖文講解)...

    spring boot集成mybatis-plus——Mybatis Plus 多表聯(lián)查(包含分頁關聯(lián)查詢,圖文講解)...

    ?更新時間 2023-01-03 21:41:38 大家好,我是小哈。 本小節(jié)中,我們將學習如何通過 Mybatis Plus 實現(xiàn) 多表關聯(lián)查詢 ,以及 分頁關聯(lián)查詢 。 本文以 查詢用戶所下訂單 ,來演示 Mybatis Plus 的關聯(lián)查詢,數(shù)據(jù)庫表除了前面小節(jié)中已經(jīng)定義好的用戶表外,再額外創(chuàng)建一張訂單表,然后

    2024年02月01日
    瀏覽(25)
  • Mybatis-Plus不能更新對象字段為空值問題解決

    Mybatis-Plus不能更新對象字段為空值問題解決

    問題描述: 在使用Mybatis-Plus調用updateById方法進行數(shù)據(jù)更新默認情況下是不能更新空值字段的,而在實際開發(fā)過程中,往往會遇到需要將字段值更新為空值的情況,該如何解決呢? 原因分析: Mybatis-Plus中字段的更新策略是通過FieldStrategy屬性控制的。在實體字段上,如果不通

    2024年02月12日
    瀏覽(20)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包