mybatis动态查询语句的使用(1.if和where标签的使用2.foreach标签的使用)

1.简单的查询用户语句(if和where标签)

<!--动态查询user用户信息语句if和where的使用-->
<select id="userList" parameterMap="user" resultType="user">
    select * from USER
    <where>
        <if test="username != null">
          and username = #{username}
        </if>
        <if test="sex != null">
            and sex = #{sex}
        </if>
    </where>
</select>

2.foreach标签查询某个条件的一些取值情况

<!--foreach标签的使用,注意事项
(1) parameterType="groupId" 定义的一个ID集合的实体列对象
(2)test="ids != null and ids.size > 0"  ids指的是实体类对象里的集合的名字
(3)item="uid" 中的uid 与查询条件的 #{uid}中的uid字段名保持一致
-->
    <select id="userList2" resultType="user" parameterType="groupId">
        select * from USER
        <where>
            <if test="ids != null and ids.size > 0">
               <foreach collection="ids" open="and id in (" close=")" item="uid" separator=",">
                   #{uid}
               </foreach>
            </if>
        </where>
    </select>

你可能感兴趣的:(SQL学习,mabatis)