当前位置: 首页 > news >正文

MyBatis Plus (四) --------- 条件构造器 EntityWrapper

目录

  • 一、EntityWrapper 简介
  • 二、使用 EntityWrapper
  • 三、带条件的 SQL
  • 四、使用 Condition
  • 五、小结


一、EntityWrapper 简介

Mybatis-Plus 通过 EntityWrapper (简称 EW,MP 封装的一个查询条件构造器) 或者
Condition (与 EW 类似) 来让用户自由的构建查询条件,简单便捷,没有额外的负担,能够有效提高开发效率。

实体包装器,主要用于处理 sql 拼接,排序,实体参数查询等。

注意 : 使用的是数据库字段,不是 Java 属性。

条件参数说明:

在这里插入图片描述

在这里插入图片描述

二、使用 EntityWrapper

使用 EntityWrapper 的方式打开如上需求:

List<Employee> userList = employeeMapper.selectPage(
	new Page<Employee>(2, 3),
	new EntityWrapper<Employee>().eq("last_name","MybatisPlus") 
	.eq("gender", 1)
	.between("age", 18, 50)
);

三、带条件的 SQL

带条件的查询

List<T> selectList(@Param("ew") Wrapper<T> wrapper);

带条件的修改

Integer update(@Param("et") T entity, @Param("ew") Wrapper<T> wrapper);

带条件的删除

Integer delete(@Param("ew") Wrapper<T> wrapper);

四、使用 Condition

使用 Condition 的方式打开如上需求

List<Employee> userListCondition = employeeMapper.selectPage(new Page<Employee>(2,3), Condition.create().
eq("gender", 1).
eq("last_name", "MyBatisPlus").
between("age", 18, 50));

五、小结

MP: EntityWrapper Condition 条件构造器
MyBatis MBG : xxxExample→Criteria : QBC( Query By Criteria)
Hibernate 、 通用 Mapper

相关文章:

  • 神经网络算法应用案例,神经网络是机器算法吗
  • 2023中国(江西)国际餐饮品牌连锁加盟展览会2月26日开幕
  • Java ServiceLoader、Spring SpringFactoriesLoader、SPI方式解耦第三方组件
  • 聚焦个性化与场景化,全新升级的三星电视看点何在?
  • LeetCode每日一题JAVA、JavaSrcipt题解——2022.08.21-08.31
  • 哪种神经网络最好使用,哪种神经网络最好用
  • 02- Spring IOC与DI
  • 基于jeecgboot流程管理平台的自定义业务表单集成方法
  • 矩阵类问题处理技巧
  • MyBatis Plus (三) --------- 入门 HelloWorld
  • 云安全践行者:亚马逊云科技如何打好“安全”牌?
  • 第8章 Spring AOP
  • 操作系统 | 【一 概述】强化阶段 —— 应用题总结
  • 深度学习(PyTorch)——python中的两大法宝(dir与help)
  • 记一次vue^2.6.5-router^3.0.6的keep-alive事故
  • co模块的前端实现
  • CSS 专业技巧
  • CSS选择器——伪元素选择器之处理父元素高度及外边距溢出
  • gf框架之分页模块(五) - 自定义分页
  • Java 多线程编程之:notify 和 wait 用法
  • Java新版本的开发已正式进入轨道,版本号18.3
  • Mac 鼠须管 Rime 输入法 安装五笔输入法 教程
  • Making An Indicator With Pure CSS
  • react-native 安卓真机环境搭建
  • spring boot下thymeleaf全局静态变量配置
  • SQLServer之创建显式事务
  • vagrant 添加本地 box 安装 laravel homestead
  • 简单易用的leetcode开发测试工具(npm)
  • 浅析微信支付:申请退款、退款回调接口、查询退款
  • 树莓派 - 使用须知
  • 3月7日云栖精选夜读 | RSA 2019安全大会:企业资产管理成行业新风向标,云上安全占绝对优势 ...
  • 关于Android全面屏虚拟导航栏的适配总结
  • ​力扣解法汇总1802. 有界数组中指定下标处的最大值
  • #NOIP 2014#day.2 T1 无限网络发射器选址
  • (51单片机)第五章-A/D和D/A工作原理-A/D
  • (Matalb分类预测)GA-BP遗传算法优化BP神经网络的多维分类预测
  • (附表设计)不是我吹!超级全面的权限系统设计方案面世了
  • (五)IO流之ByteArrayInput/OutputStream
  • (原創) 博客園正式支援VHDL語法著色功能 (SOC) (VHDL)
  • (转)关于如何学好游戏3D引擎编程的一些经验
  • (最简单,详细,直接上手)uniapp/vue中英文多语言切换
  • *1 计算机基础和操作系统基础及几大协议
  • ... 是什么 ?... 有什么用处?
  • .NET CF命令行调试器MDbg入门(一)
  • .NET 除了用 Task 之外,如何自己写一个可以 await 的对象?
  • .NET 解决重复提交问题
  • .NET高级面试指南专题十一【 设计模式介绍,为什么要用设计模式】
  • .NET与java的MVC模式(2):struts2核心工作流程与原理
  • .NET中的Event与Delegates,从Publisher到Subscriber的衔接!
  • /deep/和 >>>以及 ::v-deep 三者的区别
  • [AIGC] Nacos:一个简单 yet powerful 的配置中心和服务注册中心
  • [Cocoa]iOS 开发者账户,联机调试,发布应用事宜
  • [Design Pattern] 工厂方法模式
  • [HackMyVM]靶场 VivifyTech
  • [HDU]2161Primes