溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MybatisPlus?EntityWrapper怎么自定義SQL

發布時間:2022-03-22 13:35:31 來源:億速云 閱讀:302 作者:小新 欄目:開發技術

這篇文章主要介紹MybatisPlus EntityWrapper怎么自定義SQL,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

    EntityWrapper自定義SQL

    在mybatis plus中根據條件構造器,構建SQL查詢是很方便的,使用條件構造器可以替代我們寫SQL。下面我們看幾個例子。

    第一種

    使用T selectOne(Wrapper<T> wrapper);我們只需要傳遞入我們創建一個EntityWrapper()并將條件拼接好就可以。

    例如new EntityWrapper().eq("id","1")就是查詢id等于1的這條數據。這里不僅僅支持eq(),還有like,not like ,group by等,差不多在SQL中需要的這里都有。

    第二種

    在單表查詢的時候我們需要自定義列的時候則使用setSqlSelect方法,具體如下:

    /**此格式的意思為requireParam傳參了才創建where條件,請按照此格式撰寫代碼
    *Object為你的單表實體類
    *requireParam為入參實體類
    *EntityWrapper<Object> ew = new EntityWrapper<Object>(requireParam);是為了讓構造where條件
    *我在前面給requireParam的state屬性設置了值為1,所以這里會自動拼接上where條件,如果不需要的話則可不傳requireParam
    *
    *
    **/
                EntityWrapper<Object> ew = new EntityWrapper<Object>(requireParam);
                /**設置需要查詢的列名**/
                ew.setSqlSelect("id,resource_id,user_id,username,content,createtime,parent_id," +
                        " path,type,like_count")
                        /**排序方式**/
                        .orderBy(false,"path",false);

    同第一種情況一樣,后面可以繼續拼接各種條件。

    第三種

    EntityWrapper()拼接where條件,這個其實在第二種情況中已經講了,就是根據我們創建EntityWrapper的時候有沒有入參來做。

    到目前我們只用到了這些,以后遇到了我會繼續更新。

    MybatisPlus自定義sql查詢

    public void reconciliationForConfirmOne(Integer Id, Integer payoffType) {
        List<FinanceReconciliationEntity> frList = financeReconciliationService.selectList(
                new EntityWrapper<FinanceReconciliationEntity>()
                        .eq("payoff_id", Id)
                        .eq("payoff_type", payoffType)
                        .where("(reconciliation_status <> 1 OR reconciliation_status IS NULL)")
        );
        for (FinanceReconciliationEntity fr : frList) {
            fr.setReconciliationStatus(1);
        }
        if (frList != null && frList.size() > 0) {
            financeReconciliationService.updateBatchById(frList);
        }
    }

    以上是“MybatisPlus EntityWrapper怎么自定義SQL”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    AI

    亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女