Mybatis的动态SQL语句(if标签,where标签,foreach标签)

本文详细介绍了Mybatis的动态SQL语句,包括if标签用于条件判断,where标签智能添加WHERE子句,以及foreach标签用于遍历集合并构建SQL。通过这些标签,可以更方便地根据参数构建复杂SQL,避免手动拼接带来的问题,并展示了如何在映射配置文件中使用它们以及相关的测试方法。
摘要由CSDN通过智能技术生成

Mybatis的动态SQL语句

应用场景

​       在实际应用开发过程中,我们往往需要写复杂的SQL语句,需要拼接,而拼接SQL语句又稍微不注意,由于引号,逗号等缺失可能都会导致错误,Mybatis提供了动态SQL语句,也就是可以根据用户提供的参数,动态决定查询语句依赖的查询条件或SQL语句的内容。

if标签

持久层Dao接口
//查询的条件,有可能有用户名,有可能有性别,也有可能有地址,还有可能都有
List<User> findUserByCondition(User user);
持久层Dao映射配置
<select id="findUserByCondition" resultType="com.itheima.domain.User" parameterType="user">
     select * from user where 1=1
     <if test="username !=null">
         and username=#{username}
     </if>
     <if test="sex!=null">
         and sex=#{usersex}
     </if>
</select>

<if> 标签中的test属性中写的是对象的属性名,如果是包装类的对象
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值