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属性中写的是对象的属性名,如果是包装类的对象