环境准备
1、新建sql映射文件MybatisMapperDynamicSql.xml
2、新建sql实现接口MybatisMapperDynamicSql.java
3、新建测试类Mybatis_05_DynamicSql.java
需求一:
查询条件有多个,当各自不为空时才在条件中增加对应的分支
if__where
<select id="getStusByCondIf" resultType="com.taozi.mybatis.bean.Student">
select id,name,gender Sex from stu
<where>
<if test="id!=null">
id=#{id}
</if>
<if test="name!=null and name!=''">
and name like #{name}
</if>
<if test="Sex!=null">
and gender=#{Sex}
</if>
</where>
</select>
where标签 ,只能去除条件前面的多余连接词,不能去除后面的连接词
trim
<select id="getStusByCondTrim" resultType="com.taozi.mybatis.bean.Student">
select id,name,gender Sex,class_id from stu
<!--
prefix:给拼接后的串加前置
prefixOverrides:去除整字符串前面多余的串
suffix:后缀
suffixOverrides:
-->
<trim prefix="where" prefixOverrides=""