1. 程式人生 > 其它 >mybatis mapper代理方法開發

mybatis mapper代理方法開發

mapper代理:程式設計師只需要編寫mapper介面(相當於dao介面)和mapper.xml就可以了

一、mapper代理開發規範

  1、mapper.xml中namespace等於mapper介面全名稱(既:package+介面名)

  2、mapper.java介面中的方法名和mapper.xml中statement的id一致

  3、mapper.java介面中的方法輸入引數型別和mapper.xml中statement的parameterType指定的型別一致。

  4、mapper.java介面中的方法返回值型別和mapper.xml中statement的resultType指定的型別一致。

<mapper namespace="com.xxx.mybatis.mapper.UserMapper">
    <select id="findUserById" parameterType="int" resultType="com.xxx.mybatis.po.User">
        select * from t_user where id = #{id}
    </select>
</mapper>
package com.xxx.mybatis.mapper;

import com.xxx.mybatis.po.User;

/** * @Title: UserMapper * @Description: * @author: marw * @date 2021/06/25 13:14:23 */ public interface UserMapper { public User findUserById(int id); }

二、在SqlMapConfig.xml中載入mapper.xml

<mapper class="com.xxx.mybatis.mapper.UserMapper"/> 

三、測試

class UserMapperTest {

    
    SqlSessionFactory sqlSessionFactory;

    @BeforeEach
    
public void setUp() throws Exception { // mybatis核心配置檔案 String resource = "SqlMapConfig.xml"; // 核心配置檔案流 InputStream inputStream = Resources.getResourceAsStream(resource); // 根據核心配置檔案,建立SqlSessionFactory物件 sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); } @Test void testFindUserById() { UserMapper userMapper = sqlSessionFactory.openSession().getMapper(UserMapper.class); User user = userMapper.findUserById(3); System.out.println(user); } }
View Code