10_Mybatis开发Dao方法——mapper代理实现

时间:2022-08-25 17:15:14

【工程截图(几个关键的标红框)】

10_Mybatis开发Dao方法——mapper代理实现

【UserMapper.xml】

<?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.Higgin.Mybatis.mapper.UserMapper">
<select id="findUserById" parameterType="int" resultType="com.Higgin.Mybatis.po.User">
SELECT * from USER WHERE id=#{id}
</select>
</mapper>

【UserMapper.java】

package com.Higgin.Mybatis.mapper;

import com.Higgin.Mybatis.po.User;

public interface UserMapper {
//根据id查询用户信息
public User findUserById(int id) throws Exception;
}

【sqlMapperConfig.xml】

千万不要配置好了UserMapper.xml却忘记加载!

    <!-- 加载映射文件 -->
<mappers>
<mapper resource="sqlmap/user.xml"/> <mapper resource="mapper/UserMapper.xml"/> <!-- 这里千万不要为忘了加载 -->
</mappers>

【UserMapperTest.java】

package com.Higgin.Mybatis.mapper.test;

import static org.junit.Assert.*;

import java.io.InputStream;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Before;
import org.junit.Test; import com.Higgin.Mybatis.mapper.UserMapper;
import com.Higgin.Mybatis.po.User; public class UserMapperTest { private SqlSessionFactory sqlSessionFactory ; @Before
public void setUp() throws Exception {
//创建sqlSessionfactory
//MyBatis配置文件
String resource="SqlMapConfig.xml";
//得到配置文件流
InputStream inputStream=Resources.getResourceAsStream(resource);
//创建会话工厂,传入MyBatis的配置文件信息
sqlSessionFactory=new SqlSessionFactoryBuilder().build(inputStream);
} @Test
public void testFindUserById() throws Exception { SqlSession sqlSession =sqlSessionFactory.openSession(); //创建一个UserMapper对象,Mybatis自动生成mapper代理对象
UserMapper userMapper=sqlSession.getMapper(UserMapper.class); //调用userMapper的方法
User user = userMapper.findUserById(5); System.out.println(user.toString());
} }

【运行结果】

10_Mybatis开发Dao方法——mapper代理实现