MyBatisPlus条件构造器Condition的用法
生活随笔
收集整理的這篇文章主要介紹了
MyBatisPlus条件构造器Condition的用法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
場景
項目搭建專欄:
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/column/info/37194
基礎搭建:
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/89407994
條件構造器介紹使用:
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/89482201
實現
查看Condition的源碼可知其繼承自Wrapper方法,所以Wrapper的方法都可以使用。
它有一個獲取實例的方法
/*** 獲取實例*/public static Condition create() {return new Condition();}?
編寫測試方法:
/****條件構造器 Condition*/@Testpublic void testConditionOrderBy() {List<Employee> employeeList=employeeMapper.selectList(Condition.create().eq("gender",1).like("name", "霸").orderBy("age").last("desc limit 1,2")//.orderDesc(Arrays.asList(new String[] {"age"}))//.orderAsc(Arrays.asList(new String[] {"age"})));System.out.println("*******************"+employeeList);for (Employee employee : employeeList) {System.out.println(employee.getAge());}}源碼下載
https://download.csdn.net/download/badao_liumang_qizhi/11142337
Condition源碼
/*** Copyright (c) 2011-2020, hubin (jobob@qq.com).* <p>* Licensed under the Apache License, Version 2.0 (the "License"); you may not* use this file except in compliance with the License. You may obtain a copy of* the License at* <p>* http://www.apache.org/licenses/LICENSE-2.0* <p>* Unless required by applicable law or agreed to in writing, software* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT* WARRANTIES OR EntityWrapperS OF ANY KIND, either express or implied. See the* License for the specific language governing permissions and limitations under* the License.*/ package com.baomidou.mybatisplus.mapper;import com.baomidou.mybatisplus.toolkit.StringUtils;/*** <p>* 條件查詢構造器* </p>** @author hubin Caratacus* @date 2016-11-7*/ @SuppressWarnings({"rawtypes", "serial"}) public class Condition extends Wrapper {/*** 構建一個Empty條件構造 避免傳遞參數使用null*/public static final Wrapper EMPTY = new Wrapper() {@Overridepublic String getSqlSegment() {return null;}};/*** 獲取實例*/public static Condition create() {return new Condition();}/*** SQL 片段*/@Overridepublic String getSqlSegment() {if (SqlHelper.isEmptyOfWrapper(this)) {return null;}/** 無條件*/String sqlWhere = sql.toString();if (StringUtils.isEmpty(sqlWhere)) {return null;}/** 根據當前實體判斷是否需要將WHERE替換成 AND 增加實體不為空但所有屬性為空的情況*/return isWhere != null ? (isWhere ? sqlWhere : sqlWhere.replaceFirst("WHERE", AND_OR)) : sqlWhere.replaceFirst("WHERE", AND_OR);}/*** 構造一個空的Wrapper<T></>** @param <T>* @return*/public static <T> Wrapper<T> empty() {return (Wrapper<T>) EMPTY;}/*** 構造一個Wrapper<T></>** @param <T>* @return*/public static <T> EntityWrapper<T> wrapper() {return new EntityWrapper<>();}}?
總結
以上是生活随笔為你收集整理的MyBatisPlus条件构造器Condition的用法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MyBatisPlus条件构造器带条件排
- 下一篇: MyBatisPlus的ActiveRe