Mybatis动态SQL

<select id="getUserByUserIf" resultType="user">
    select * from sys_user
    <where>
        <if test="userId != null">and user_id = #{userId}</if>
        <if test="userName != null and userName != ''">and user_name = #{userName}</if>
        <if test="email != null and email != ''">and email = #{email}</if>
    </where>
</select>

<select id="getUserByUserChoose" resultType="user">
    select * from sys_user
    <where>
        <choose>
            <when test="userId != null">
                user_id = #{userId}
            </when>
            <when test="userName != null and userName != ''">
                user_name = #{userName}
            </when>
            <when test="email != null and email != ''">
                email = #{email}
            </when>
            <otherwise>
                1 = 1
            </otherwise>
        </choose>
    </where>
</select>

<update id="updateUser">
    update sys_user
    <set>
        <if test="userName != null and userName != ''">user_name = #{userName},</if>
        <if test="email != null and email != ''">email = #{email},</if>
    </set>
    where user_id = #{userId}
</update>

<select id="getUsersByUserIds" resultType="user">
    select * from sys_user
    where user_id in
    <foreach collection="array" item="item" open="(" separator="," close=")" index="index">
        #{item}
    </foreach>
</select>

<insert id="addUsers">
    insert into sys_user(dept_id,user_name,email)
    values
    <foreach collection="users" item="user" separator="," >
       ( #{user.deptId},#{user.userName},#{user.email} )
    </foreach>
</insert>
posted @ 2022-01-02 23:02  xl4ng  阅读(27)  评论(0编辑  收藏  举报