MyBatis 的映射文件(Mapper XML 文件)用于定义 SQL 语句和 Java 对象之间的映射关系,包括 SQL 查询、更新、删除等操作。
这些映射文件通常包含以下内容:
- 命名空间(Namespace): 定义了映射文件中 SQL 语句的命名空间,用于区分不同的映射文件和避免命名冲突。
<!-- 示例:定义命名空间 -->
<mapper namespace="com.example.UserMapper">
<!-- SQL 语句定义 -->
</mapper>
- 查询语句和参数映射: 定义了 SQL 查询语句以及与 Java 对象的映射关系。
<!-- 示例:查询语句和参数映射 -->
<select id="getUserById" resultType="User">
SELECT * FROM users WHERE id = #{id}
</select>
- 参数传递: 通过
#{parameter}
或${parameter}
形式传递参数,用于动态拼接 SQL 语句。 -
结果映射: 使用
resultType
或resultMap
指定结果映射到的 Java 对象类型,或者自定义映射规则。
<!-- 示例:结果映射 -->
<select id="getUserById" resultType="User">
SELECT * FROM users WHERE id = #{id}
</select>
- 动态 SQL: 使用
<if>
,<choose>
,<when>
,<otherwise>
,<foreach>
等标签实现动态 SQL。
<!-- 示例:动态 SQL -->
<select id="getUsersByCondition" parameterType="map" resultType="User">
SELECT * FROM users
<where>
<if test="name != null">
AND name = #{name}
</if>
<if test="age != null">
AND age = #{age}
</if>
</where>
</select>
这些映射文件定义了 SQL 语句和 Java 对象之间的映射关系,是 MyBatis 持久化操作的重要配置文件。通过映射文件,可以将 Java 对象与数据库表进行映射,实现数据的增删改查操作。
Was this helpful?
0 / 0