Mybatis的Mapper映射文件中常用标签及作用

MyBatis 是一个广泛使用的持久层框架,能够将对象与数据库中的记录进行映射。在 MyBatis 的 Mapper 映射文件中,有许多常用标签,它们各自有不同的功能。以下是一些常见标签及其作用:

1. select标签
作用:用来定义查询操作。
示例:

点击查看代码
<select id="selectUser" resultType="User">
    SELECT * FROM users WHERE id = #{id}
</select>

2. insert
作用:用来定义插入操作。
示例:

点击查看代码
<insert id="insertUser" parameterType="User">
    INSERT INTO users (name, age) VALUES (#{name}, #{age})
</insert>

3. update
作用:用来定义更新操作。
示例:

点击查看代码
<update id="updateUser" parameterType="User">
    UPDATE users SET name = #{name}, age = #{age} WHERE id = #{id}
</update>

4. delete
作用:用来定义删除操作。
示例:

点击查看代码
<delete id="deleteUser" parameterType="int">
    DELETE FROM users WHERE id = #{id}
</delete>

5. resultMap
作用:用来定义结果映射,可以将数据库中的列映射到对象的属性上。
示例:

点击查看代码
<resultMap id="userResultMap" type="User">
    <result property="id" column="id"/>
    <result property="name" column="name"/>
    <result property="age" column="age"/>
</resultMap>

6. parameterMap
作用:用于定义参数映射,可以规定参数的具体类型及传入参数的名称。
示例:

点击查看代码
<parameterMap id="userParamMap" parameterClass="User">
    <parameter property="name" column="name"/>
    <parameter property="age" column="age"/>
</parameterMap>

7. sql
作用:可以定义可重用的 SQL 片段,例如常用的查询条件或列,以便在其他 SQL 中引用。
示例:

点击查看代码
<sql id="userColumns">
    id, name, age
</sql>

<select id="selectAllUsers" resultType="User">
    SELECT <include refid="userColumns"/> FROM users
</select>

8. if
作用:条件判断,用于动态生成 SQL 语句。
示例:

点击查看代码
<select id="selectUserByCriteria" resultType="User">
    SELECT * FROM users
    <where>
        <if test="name != null">
            AND name = #{name}
        </if>
        <if test="age != null">
            AND age = #{age}
        </if>
    </where>
</select>

9. choose, when, otherwise
作用:用于多条件选择,类似于 Java 的 switch 语句。
示例:

点击查看代码
<select id="selectUserByStatus" resultType="User">
    SELECT * FROM users
    <where>
        <choose>
            <when test="status == 1">
                AND status = 1
            </when>
            <when test="status == 2">
                AND status = 2
            </when>
            <otherwise>
                AND status IS NULL
            </otherwise>
        </choose>
    </where>
</select>

10. foreach
作用:用于遍历集合,常用于批量插入或在条件中动态生成 SQL。
示例:

点击查看代码
<delete id="deleteUsersByIds" parameterType="list">
    DELETE FROM users WHERE id IN
    <foreach item="id" collection="list" open="(" separator="," close=")">
        #{id}
    </foreach>
</delete>

这些标签的组合使用将大大增强 MyBatis 的灵活性和功能,使得 SQL 的操作更加简洁和易于维护。

posted @   我睡觉时候不困  阅读(33)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
点击右上角即可分享
微信分享提示