文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
5.2 if 元素
if 元素是我们最常用的判断语句,相当于 Java 中的 if 语句。它常常与 test 属性联合使用。
在大部分情况下,if 元素使用方法简单,让我们先了解它的基本用法。现在我们要根据角色名称(roleName)去查找角色,但是角色名称是一个可填可不填的条件,不填写的时候就不要用它作为查询条件。这是查询中常见的场景之一。if 元素提供了简易的实现方法,如代码清单 5-1 所示。
代码清单 5-1:使用 if 元素构建动态 SQL
<select id="findRoles" parameterType="string" resultMap="roleResultMap"> select role_no, role_name, note from t_role where 1=1 <if test="roleName != null and roleName !=''"> and role_name like concat('%', #{roleName}, '%') </if> </select>
这句话的含义就是当我们将参数 roleName 传递进入到映射器中,采取构造对 roleName 的模糊查询。如果这个参数为空,就不要去构造这个条件,显然这样的场景在我们实际的工作中是十分常见的。通过 MyBatis 的条件语句我们可以节省许多拼接 SQL 的工作,把精力集中在 XML 的维护上。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论