Mybatis<choose><when><otherwise>的入门使用

mac2024-12-03  28

Mybatis中choose、when、otherwise的入门使用(一)

技术背景:springboot

数据库:

Mapper层接口: 参数:column 排序的字段名 sort 排序方式 1:降序 其他:升序

List<Blocks> selectBlocks(@Param("column")String column,@Param("sort")Integer sort);

xml文件:

<select id="selectBlocks" resultType="Blocks"> select * from blocks <choose> <when test="column=='height'.toString()"> order by `height` <if test="sort==1"> desc </if> </when> <when test="column=='difficulty'.toString()"> order by `difficulty` <if test="sort==1"> desc </if> </when> <otherwise> order by `blockTime` <if test="sort==1"> desc </if> </otherwise> </choose> limit 10 </select>

总结:的功能和switch、if elseif相似。是当前面的when中的条件全不符合时,执行的sql。test的判断不单单能判断是否为空、数值而且可以用toString()方法来判断传入的参数,这样就可以专注代码在mapper层,减少业务逻辑层中的对mapper层数据的处理,只专注业务。 mybatis功能强大,在开发过程中逐渐发现总结。

最新回复(0)