xml + 动态query
此功能需要1.8.1版本或之后才有
xml + 动态query,可支持多个query参数
动态query 有那些sql组件
组件 | 描述 |
---|---|
queryScript | 整个查询 sql |
selectScript | 查询中的 select sql (不包含SELECT 关键字) |
fromScript | 查询中的 from sql (不包含FROM 关键字) |
whereScript | 查询中的 where sql (不包含WHERE 关键字) |
orderByScript | 查询中的 order by sql |
groupByScript | 查询中的 group by sql |
havingScript | 查询中的 group by having sql |
如何用
xml
<!-- 单个参数时,使用这个 -->
<select id="selectCustomSql">
select ${selectScript} from ${fromScript} <where>${whereScript}</where>
</select>
OR
xml
<!-- 指定参数名(@Param("QUERY"))时,使用这个;参数名QUERY可以是其他的名字 -->
<select id="selectCustomSql">
select ${QUERY.selectScript} from ${QUERY.fromScript} <where>${QUERY.whereScript}</where>
</select>
mapper 使用
java
List<SysRole> selectCustomSql(Query query);
OR
List<SysRole> selectCustomSql(@Param("QUERY") Query query);
使用代码
java
List<SysRole> list = sysRoleMapper.selectCustomSql(Query.create().select(SysRole.class).from(SysRole.class).in(SysRole::getId, 1, 2));