mybatis mapper代理方法開發
阿新 • • 發佈:2021-06-25
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; @BeforeEachView Codepublic 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); } }