Skip to content

xml + 动态where

xml + 动态where,可支持多个where参数

mybatis xml 使用

xml
<!-- 不指定参数名(@Param("WHERE"))时,使用这个 -->
<select id="selectCustomSql">
    select * from sys_role t <where>${whereScript}</where>
</select>

OR

xml
<!-- 指定参数名(@Param("WHERE"))时,使用这个;参数名WHERE可以是其他的名字 -->
<select id="selectCustomSql">
    select * from sys_role t <where>${WHERE.whereScript}</where>
</select>

不会主动带上WHERE 关键字,所以需要你用 包裹

mapper 使用

java
List<SysRole> selectCustomSql(Where where);
OR
List<SysRole> selectCustomSql(@Param("WHERE") Where where);

使用代码

java
List<SysRole> list = sysRoleMapper.selectCustomSql(WhereUtil.create().in(SysRole::getId, 1, 2));