MyBatis怎么編寫Mapper接口和對(duì)應(yīng)的XML映射文件

小億
178
2024-05-08 13:05:59
欄目: 編程語言

MyBatis是一種持久層框架,它提供了一種將Java方法和SQL語句進(jìn)行映射的方式。在MyBatis中,Mapper接口和對(duì)應(yīng)的XML映射文件是一個(gè)常用的方式來執(zhí)行SQL語句。

以下是編寫Mapper接口和對(duì)應(yīng)的XML映射文件的步驟:

  1. 創(chuàng)建Mapper接口 首先,創(chuàng)建一個(gè)Mapper接口,該接口定義了要執(zhí)行的各種SQL操作。例如,如果要查詢用戶信息,可以創(chuàng)建一個(gè)UserMapper接口,如下所示:
public interface UserMapper {
    User getUserById(int id);
    void addUser(User user);
    void updateUser(User user);
    void deleteUser(int id);
}
  1. 創(chuàng)建對(duì)應(yīng)的XML映射文件 在resources目錄下創(chuàng)建一個(gè)與Mapper接口同名的XML文件,例如UserMapper.xml。在該文件中編寫SQL語句和對(duì)應(yīng)的映射關(guān)系。
<?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.mapper.UserMapper">
  
  <select id="getUserById" resultType="com.example.model.User">
    SELECT * FROM users WHERE id = #{id}
  </select>
  
  <insert id="addUser" parameterType="com.example.model.User">
    INSERT INTO users(name, age) VALUES(#{name}, #{age})
  </insert>
  
  <update id="updateUser" parameterType="com.example.model.User">
    UPDATE users SET name = #{name}, age = #{age} WHERE id = #{id}
  </update>
  
  <delete id="deleteUser" parameterType="int">
    DELETE FROM users WHERE id = #{id}
  </delete>
  
</mapper>
  1. 配置MyBatis 在MyBatis的配置文件中,注冊(cè)Mapper接口和對(duì)應(yīng)的XML映射文件。
<configuration>
  <mappers>
    <mapper resource="com/example/mapper/UserMapper.xml"/>
  </mappers>
</configuration>

這樣,就可以通過調(diào)用Mapper接口中的方法來執(zhí)行相應(yīng)的SQL操作了。在執(zhí)行SQL操作時(shí),MyBatis會(huì)根據(jù)Mapper接口中的方法名和XML映射文件中定義的SQL語句進(jìn)行對(duì)應(yīng),從而實(shí)現(xiàn)數(shù)據(jù)的增刪改查操作。

0