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自动做了属性映射)

Mybatis-Plus入门学习笔记

mybatis-plus学习笔记

SpringBoot 整合 MyBatis-Plus 入门体验

Mybatis-Plus学习笔记

spring boot+mybatis-plus整理