Usage examples of common elements in MyBatis XML mode

There are many kinds of elements in MyBatis XML, and each element has different functions and usages. The following are some commonly used MyBatis XML elements and their usage:

  1. select: Execute query operation.

    <select id="getUserById" parameterType="Long" resultType="User">
        SELECT * FROM users WHERE id = #{id}
    </select>
    
  2. insert: Perform insert operation.

    <insert id="insertUser" parameterType="User">
        INSERT INTO users (id, name) VALUES (#{id}, #{name})
    </insert>
    
  3. update: Update row operation.

    <update id="updateUser" parameterType="User">
        UPDATE users SET name = #{name} WHERE id = #{id}
    </update>
    
  4. delete: Remove operation.

    <delete id="deleteUser" parameterType="Long">
        DELETE FROM users WHERE id = #{id}
    </delete>
    
  5. if: Determine whether a SQL fragment is included based on conditions.

    <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 and otherwise: Implement conditional selection logic.

    <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: Used to customize the prefix and suffix of SQL fragments and add or delete them based on conditions.

    <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: Used to loop through a collection or array and generate the corresponding SQL statement.

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

Guess you like

Origin blog.csdn.net/a2272062968/article/details/131438998