欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

MyBatisPlus条件构造器Condition的用法

发布时间:2025/3/19 编程问答 26 豆豆
生活随笔 收集整理的这篇文章主要介绍了 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的用法的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。