mybatis映射怎么写
时间: 2023-11-30 17:03:52 浏览: 31
MyBatis是一种基于Java的持久层框架,它通过映射文件将Java对象映射到关系型数据库中的表。下面是一个简单的MyBatis映射文件的例子:
```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.UserMapper">
<resultMap id="userResultMap" type="com.example.User">
<id column="id" property="id" />
<result column="username" property="username" />
<result column="password" property="password" />
<result column="email" property="email" />
</resultMap>
<select id="getUserById" resultMap="userResultMap" parameterType="long">
SELECT id, username, password, email
FROM users
WHERE id = #{id}
</select>
<insert id="insertUser" parameterType="com.example.User">
INSERT INTO users (username, password, email)
VALUES (#{username}, #{password}, #{email})
</insert>
<update id="updateUser" parameterType="com.example.User">
UPDATE users
SET username = #{username}, password = #{password}, email = #{email}
WHERE id = #{id}
</update>
<delete id="deleteUser" parameterType="long">
DELETE FROM users
WHERE id = #{id}
</delete>
</mapper>
```
在上面的例子中,`<mapper>` 标签是MyBatis映射文件的根元素,`namespace` 属性指定了映射文件的命名空间。`<resultMap>` 标签定义了一个结果集映射,它将查询结果集中的列映射到Java对象的属性上。`<select>`、`<insert>`、`<update>` 和 `<delete>` 标签分别定义了查询、插入、更新和删除操作,并指定了SQL语句和参数类型。其中,`#{}` 是MyBatis中的参数占位符,它可以防止SQL注入攻击。
以上是一个简单的MyBatis映射文件的例子,实际开发中可能会更加复杂,但基本的语法和结构都是一样的。