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());
    }

}

【运行结果】

原文地址:https://www.cnblogs.com/HigginCui/p/5700603.html