在 Java 项目中使用 MyBatis,你需要创建一个映射文件(mapper.xml)来定义 SQL 语句和结果映射。以下是一个简单的示例,展示了如何编写 MyBatis 映射文件。
public class User {
private int id;
private String name;
private String email;
// 省略 getter 和 setter 方法
}
<?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.UserMapper">
<resultMap id="UserResultMap" type="com.example.entity.User">
<id property="id" column="id"/>
<result property="name" column="name"/>
<result property="email" column="email"/>
</resultMap>
<select id="getUserById" resultMap="UserResultMap">
SELECT * FROM users WHERE id = #{id}
</select>
<insert id="insertUser" parameterType="com.example.entity.User">
INSERT INTO users (name, email) VALUES (#{name}, #{email})
</insert>
<update id="updateUser" parameterType="com.example.entity.User">
UPDATE users SET name=#{name}, email=#{email} WHERE id=#{id}
</update>
<delete id="deleteUser" parameterType="int">
DELETE FROM users WHERE id = #{id}
</delete>
</mapper>
在这个示例中,我们定义了一个名为 UserMapper
的映射文件,包含以下内容:
-:定义查询结果与实体类属性之间的映射关系。 -<select>
:定义查询操作,例如根据 ID 获取用户信息。
-:定义插入操作,例如插入一个新用户。 -<update>
:定义更新操作,例如更新用户信息。
-
注意:请确保将实体类的完全限定名(包括包名)正确地添加到映射文件中。
package com.example.dao;
import com.example.entity.User;
public interface UserMapper {
User getUserById(int id);
void insertUser(User user);
void updateUser(User user);
void deleteUser(int id);
}
现在,你已经成功创建了一个 MyBatis 映射文件。接下来,你需要在 MyBatis 配置文件(如 mybatis-config.xml)中引用这个映射文件,并在代码中使用 SqlSession 或 Spring 集成来调用这些方法。