mybatis的动态SQL(二)choose标签的使用
2017-10-08 20:18
519 查看
上一篇中我们讲解了if标签的使用,但是他无法实现if…else的逻辑判断,这就要用到我们这一篇提到的choose when otherwise标签。
使用规则:
一个choose中至少有一个when,有0个或一个otherwise
举个例子:
代码解释:
查询用户的信息,如果提供了id,那么优先使用id查询,如果没有id,提供了username,那么使用username作为条件查询,如果都没有则执行otherwise,确保返回值的正确
使用规则:
一个choose中至少有一个when,有0个或一个otherwise
举个例子:
<select id="selectByIdOrUserName" resultType="cd.mybatis.model.SysUser"> select id, user_name userName, user_password UserPassword, user_info userInfo from sys_user where 1=1 <choose> <when test="id!=null"> and id=#{id} </when> <when test="userName !=null and userName !='' "> and user_name =#{uerName} </when> <otherwise> and 1=2 </otherwise> </choose> </select>
代码解释:
查询用户的信息,如果提供了id,那么优先使用id查询,如果没有id,提供了username,那么使用username作为条件查询,如果都没有则执行otherwise,确保返回值的正确
相关文章推荐
- mybatis 之 动态sql(一)choose标签的使用
- MyBatis动态SQL之一使用 if 标签和 choose标签
- MyBatis动态SQL之一使用 if 标签和 choose标签
- MyBatis-动态SQL的if、choose、when、otherwise、trim、where、set、foreach使用
- mybatis动态sql中的trim标签的使用
- MyBatis动态SQL中trim标签的使用
- MyBatis使用动态SQL标签的小陷阱
- mybatis动态sql中foreach标签的使用
- mybatis动态sql中的trim标签的使用
- MyBatis动态SQL中trim标签的使用参数
- MyBatis动态SQL中trim标签的使用
- mybatis动态sql中的trim标签的使用
- MyBatis动态SQL中trim标签的使用
- myBatis的动态SQL之标签的使用
- 动态sql之使用choose标签
- mybatis动态查询 sql标签和include标签的使用
- mybatis动态sql中的trim标签的使用
- mybatis动态sql中的trim标签的使用
- mybatis动态SQL中的set标签的使用
- mybatis-使用choose动态拼接sql