MyBatis XML方式常用元素用法示例

MyBatis XML 中的元素有很多种,每个元素都有不同的作用和用法。以下是一些常用的 MyBatis XML 元素及其用法:

  1. select:执行查询操作。

    <select id="getUserById" parameterType="Long" resultType="User">
        SELECT * FROM users WHERE id = #{id}
    </select>
    
  2. insert:执行插入操作。

    <insert id="insertUser" parameterType="User">
        INSERT INTO users (id, name) VALUES (#{id}, #{name})
    </insert>
    
  3. update:执行更新操作。

    <update id="updateUser" parameterType="User">
        UPDATE users SET name = #{name} WHERE id = #{id}
    </update>
    
  4. delete:执行删除操作。

    <delete id="deleteUser" parameterType="Long">
        DELETE FROM users WHERE id = #{id}
    </delete>
    
  5. if:根据条件判断是否包含某个 SQL 片段。

    <select id="getUsersByNameAndAge" parameterType="map" resultType="User">
        SELECT * FROM users WHERE 1=1
        <if test="name != null"> AND name = #{name}</if>
        <if test="age != null"> AND age = #{age}</if>
    </select>
    
  6. choose、when 和 otherwise:实现条件选择逻辑。

    <select id="getUsersByCondition" parameterType="map" resultType="User">
        SELECT * FROM users WHERE 1=1
        <choose>
            <when test="name != null"> AND name = #{name}</when>
            <when test="age != null"> AND age = #{age}</when>
            <otherwise> AND status = 'ACTIVE'</otherwise>
        </choose>
    </select>
    
  7. trim:用于定制 SQL 片段的前缀和后缀,并根据条件进行添加或删除。

    <select id="getUsersByCondition" parameterType="map" resultType="User">
        SELECT * FROM users WHERE 1=1
        <trim prefix="AND" prefixOverrides="OR">
            <if test="name != null"> OR name = #{name}</if>
            <if test="age != null"> OR age = #{age}</if>
        </trim>
    </select>
    
  8. foreach:用于循环遍历集合或数组,并生成对应的 SQL 语句。

    <delete id="deleteUsers" parameterType="List">
        DELETE FROM users WHERE id IN
        <foreach collection="list" item="id" open="(" separator="," close=")">
            #{id}
        </foreach>
    </delete>
    

猜你喜欢

转载自blog.csdn.net/a2272062968/article/details/131438998