Spring笔记-mybatis映射文件

动态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>

posted @ 2022-02-17 13:19  EnkiZhang  阅读(30)  评论(0编辑  收藏  举报