首页 > 数据库 >mybatis-plus的${ew.sqlSegment},${ew.sqlSelect},${ew.sqlSet},${ew.customSqlSegment}使用与区别

mybatis-plus的${ew.sqlSegment},${ew.sqlSelect},${ew.sqlSet},${ew.customSqlSegment}使用与区别

时间:2023-03-20 10:00:32浏览次数:32  
标签:sqlSelect sqlSet sqlSegment Param sys Constants ew select


说明:

ew是mapper方法里的@Param(Constants.WRAPPER) Wrapper queryWrapper对象

1、${ew.customSqlSegment} 会直接在前面添加 where

@Select(select * from sys_user ${ew.customSqlSegment})
List<SysUser> listPage(@Param(Constants.WRAPPER) QueryWrapper queryWrapper)

2、${ew.sqlSegment} 就只有条件语句

@Select(select * from sys_user  where ${ew.sqlSegment})
List<SysUser> listPage@Param(Constants.WRAPPER) QueryWrapper queryWrapper)

3、${ew.sqlSelect} 就是 queryWrapper.select(****) 你所定义需要查询的字段

实例1:

@Select(select ${ew.sqlSelect} from sys_user  )
List<SysUser> listPage(@Param(Constants.WRAPPER) QueryWrapper queryWrapper)

实例2:

<select id="selectUser" resultType="com.example.demo.entity.User">
select
<if test="ew != null and ew.sqlSelect != null and ew.sqlSelect != ''">
${ew.sqlSelect}
</if>
from
sys_user
where is_deleted != 1
<if test="ew != null">
<if test="ew.nonEmptyOfWhere">
AND
</if>
${ew.sqlSegment}
</if>
</select>

4、${ew.sqlSet}用于update语句

boolean updateById(@Param("tableName") String tableName,@Param(Constants.WRAPPER) Wrapper wrapper);

实例1

<update id="updateById">
update ${tableName} set ${ew.sqlSet} ${ew.customSqlSegment};
</update>

实例2

<update id="updateUser">
update sys_user
set ${ew.sqlSet}
where ${ew.sqlSegment}
</update>


标签:sqlSelect,sqlSet,sqlSegment,Param,sys,Constants,ew,select
From: https://blog.51cto.com/u_12516227/6131823

相关文章

  • Masa Framework源码解读-03 MasaMinimalApi设计
    序言​ 相信大家可能或多或少都了解过微软官方的MinimalApi,最开始刚出来那会我其实对MinimalApi是嗤之以鼻的,因为本身有Controller控制器能够明确定义请求方法出来......
  • Presto-gateway 讲解与实战操作
    目录一、概述二、部署mysql三、部署多套presto集群四、部署presto-gateway与简单使用1)下载2)Maven编译3)修改配置4)sql初始化5)启动服务6)增加和修改presto集群1、通过CU......
  • homebrew 安装postgresql 记录
    homebrew安装记录homebrew可以更好的在mac或liunx上管理软件包,其具有以下优点:Homebrew会将软件包安装到独立目录,并将其文件软链接至/opt/homebrew。Homebrew......
  • 【framework】DisplayContent简介
    1前言​DisplayContent用于管理屏幕,一块屏幕对应一个DisplayContent对象,虽然手机只有一个显示屏,但是可以创建多个DisplayContent对象,如投屏时,可以创建一个虚拟......
  • 【framework】WMS启动流程
    1前言​WMS是WindowManagerService的简称。(1)WMS主要职责窗口管理:负责启动、添加、删除窗口,管理窗口大小、层级,核心成员有:WindowContainer、RootWindowContain......
  • 【framework】View添加过程
    1前言WMS启动流程中介绍了WindowManagerService的启动流程,本文将介绍View的添加流程,按照进程分为以下2步:应用进程:介绍从WindowManagerImpl(addView方法)到Se......
  • 【framework】Activity启动流程
    1前言ATMS启动流程介绍了ActivityTaskManagerService(ATMS)的启动和初始化流程,本文将介绍Activity的启动流程。由于Activity启动流程复杂,本文按进程将其拆分为3......
  • 【framework】AMS启动流程
    1前言​AMS即ActivityManagerService,负责Activy、Service、Broadcast、ContentProvider四大组件的生命周期管理。本文主要介绍AMS的启动流程和初始化过程。AMS......
  • 【framework】ATMS启动流程
    1前言​ATMS即ActivityTaskManagerService,用于管理Activity及其容器(任务、堆栈、显示等)。ATMS在Android10中才出现,由原来的AMS(ActivityManagerService)分离......
  • 【framework】IMS启动流程
    1前言​IMS是InputManagerService的简称,主要负责输入事件管理。1.1基本概念输入设备:屏幕、电源/音量、键鼠、充电口、蓝牙、wifi等设备节点:当输入设备可用......