mybatis的sql映射xml文件代码
时间: 2023-09-13 10:05:06 浏览: 49
下面是一个示例的MyBatis SQL映射XML文件:
```xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.dao.UserDao">
<resultMap id="userResultMap" type="com.example.entity.User">
<id column="id" property="id" />
<result column="name" property="name" />
<result column="age" property="age" />
</resultMap>
<select id="getUserById" resultMap="userResultMap">
SELECT * FROM user WHERE id = #{id}
</select>
<insert id="insertUser" parameterType="com.example.entity.User">
INSERT INTO user (name, age) VALUES (#{name}, #{age})
</insert>
<update id="updateUser" parameterType="com.example.entity.User">
UPDATE user SET name = #{name}, age = #{age} WHERE id = #{id}
</update>
<delete id="deleteUserById" parameterType="int">
DELETE FROM user WHERE id = #{id}
</delete>
</mapper>
```
其中,`<mapper>` 标签的 `namespace` 属性指定了该 SQL 映射文件对应的 DAO 接口的全限定名。
`<resultMap>` 标签定义了查询结果到实体类的映射关系。`<id>` 标签定义了主键列的映射关系,`<result>` 标签定义了其它列的映射关系。
`<select>`、`<insert>`、`<update>`、`<delete>` 标签分别对应 SQL 的查询、插入、更新和删除操作。其中,`id` 属性指定了该操作的唯一标识符,`parameterType` 属性指定了该操作的输入参数类型,`resultMap` 属性指定了该操作的输出结果映射关系。
在查询操作中,可以使用 `#{}` 占位符来表示输入参数,MyBatis 会自动将其替换为对应的实际值。例如,`SELECT * FROM user WHERE id = #{id}` 中的 `#{id}` 将被替换为传入的 `id` 参数的实际值。