MyBatis 的映射器(Mapper)是一个接口,它定义了一组与数据库交互的方法。这些方法通常对应于数据库的 CRUD 操作(创建、读取、更新、删除)。MyBatis 会动态地生成这个接口的实现,并在运行时使用这些方法来执行 SQL 语句。
映射器的主要作用是将 Java 方法映射到 SQL 语句,使得开发者可以通过简单的 Java 方法调用来实现对数据库的操作,而不需要直接编写和执行 SQL 语句。这样做的优点是提高了代码的可维护性,减少了模板 SQL 的编写,并且可以将 SQL 语句与 Java 代码分离,便于管理和维护。
下面是使用 MyBatis 映射器的基本步骤:
1、定义映射器接口:
创建一个接口,定义需要与数据库交互的方法。例如
public interface UserMapper {
User getUserById(int id);
List<User> getAllUsers();
void insertUser(User user);
void updateUser(User user);
void deleteUser(int id);
}
2、编写映射文件:
为映射器接口创建一个 XML 文件或使用注解,指定每个方法对应的 SQL 语句。例如,一个 XML 映射文件可能如下所示:
<mapper namespace="com.example.mapper.UserMapper">
<select id="getUserById" resultType="com.example.entity.User">
SELECT * FROM users WHERE id = #{id}
</select>
<select id="getAllUsers" resultType="com.example.entity.User">
SELECT * FROM users
</select>
<insert id="insertUser">
INSERT INTO users (name, email) VALUES (#{name}, #{email})
</insert>
<update id="updateUser">
UPDATE users SET name = #{name}, email = #{email} WHERE id = #{id}
</update>
<delete id="deleteUser">
DELETE FROM users WHERE id = #{id}
</delete>
</mapper>
3、映射文件语法解释
在mapper中写命名空间指向该映射文件对应的映射器接口
<mapper namespace="com.example.mapper.UserMapper">
3.1、常用的四种SQL语句
3.1.1、查询
<select id="selectByName" resultMap="DhyCommandResult">
select id, name from test where name = #{name}
</select>
<select id="selectByName"