动态sql语句
在业务较为复杂时候,sql是变化的,就需要进行一些动态sq处理如果对查询数据输入不完整的情况下,会查不到数据
将log4j参数改为debug
在之前的查询方法中如果查询条件没有在语句中全部覆盖,会出现查询空值的现象
查看日志
这里就需要引入动态sql语句
动态sql语句
if 动态语句
<!-- sql语句的抽取-->
<sql id="selectUser">select * from user</sql>
<select id="findByCondition" parameterType="user" resultType="user">
<include refid="selectUser"/>
<where>
<if test="id!=0">
and id=#{id}
</if>
<if test="userName!=null">
and userName=#{userName}
</if>
<if test="passWord!=null">
and passWord=#{passWord}
</if>
</where>
</select>
foreach
简化sql将重复的sql语句进行抽取
<!-- sql语句的抽取-->
<sql id="selectUser">select * from user</sql>
<select id="findByCondition" parameterType="user" resultType="user">
<include refid="selectUser"/>
<where>
<if test="id!=0">
and id=#{id}
</if>
<if test="userName!=null">
and userName=#{userName}
</if>
<if test="passWord!=null">
and passWord=#{passWord}
</if>
</where>
</select>