zoukankan      html  css  js  c++  java
  • 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());
        }
    
    }

    【运行结果】

  • 相关阅读:
    Civil3D有哪些API
    Android Dex分包之旅
    android 资料
    Android拆分与加载Dex的多种方案对比
    Android开机时间分析
    (3) arm 指令
    (2) arm 指令条件码
    (1) arm 指令格式
    Temp
    Android持续优化
  • 原文地址:https://www.cnblogs.com/HigginCui/p/5700603.html
Copyright © 2011-2022 走看看