<!-- com/example/mapper/UserMapper.xml -->
<mapper namespace="com.example.mapper.UserMapper">
<!-- 定义查询语句 -->
<select id="getUserById" resultType="com.example.model.User" parameterType="java.lang.Long">
SELECT * FROM users WHERE id = #{id}
</select>
<!-- 定义插入语句 -->
<insert id="insertUser" parameterType="com.example.model.User">
INSERT INTO users(username, password) VALUES (#{username}, #{password})
</insert>
<!-- 定义更新语句 -->
<update id="updateUser" parameterType="com.example.model.User">
UPDATE users SET username = #{username}, password = #{password} WHERE id = #{id}
</update>
<!-- 定义删除语句 -->
<delete id="deleteUser" parameterType="java.lang.Long">
DELETE FROM users WHERE id = #{id}
</delete>
</mapper>
在这个例子中:
- <mapper> 元素的 namespace 属性指定了映射器接口的全限定名,这个值应该与Java中的映射器接口一致。
- <select>、<insert>、<update>、<delete> 元素分别用于定义查询、插入、更新和删除操作。每个元素的 id 属性是映射器接口中对应方法的名称。
- resultType 属性指定了查询操作的结果类型,即返回的Java对象类型。
- parameterType 属性指定了方法参数的类型。
- #{} 中的占位符是MyBatis的参数占位符,用于接收方法参数。
在实际项目中,映射文件还可以定义更复杂的映射规则,包括关联关系、嵌套查询等。此外,可以使用动态SQL来构建更灵活的SQL语句。MyBatis提供了强大而灵活的映射文件功能,使得开发人员可以更容易地进行数据库操作。
转载请注明出处:http://www.zyzy.cn/article/detail/7005/MyBatis