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 的操作更加简洁和易于维护。
标签:Mapper,users,映射,示例,age,点击,Mybatis,id,name From: https://www.cnblogs.com/fangbianmian/p/18466078