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 @   xl4ng  阅读(29)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
点击右上角即可分享
微信分享提示