mybatis-plus的${ew.sqlSegment},${ew.sqlSelect},${ew.sqlSet},${ew.customSqlSegment}使用与区别
Posted lovoo
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mybatis-plus的${ew.sqlSegment},${ew.sqlSelect},${ew.sqlSet},${ew.customSqlSegment}使用与区别相关的知识,希望对你有一定的参考价值。
说明:
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>
以上是关于mybatis-plus的${ew.sqlSegment},${ew.sqlSelect},${ew.sqlSet},${ew.customSqlSegment}使用与区别的主要内容,如果未能解决你的问题,请参考以下文章
Mybatis-Plus:了解Mybatis-Plus快速开始(Mybatis + Mybatis-Plus,Mybatis-Plus自动做了属性映射)