MyBatis--动态代理

简介:
Mapper接口开发方法只需要程序员编写Mapper接口(相当于Dao接口),由Mybatis框架根据接口定义创建接口的动态代理对象,

1、编写Mapper.xml

2、编写Mapper.java(接口)

3、加载Mapper.xml

4、测试


1、编写Mapper.xml

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.sise.mapper.UserMapper">
    <!-- 根据id获取用户信息 -->
    <select id="findUserById" parameterType="java.lang.Integer" resultType="com.sise.domain.User">
        select * from user where id = #{id}
    </select>
</mapper>

mapper接口代理实现编写规则:
a. 映射文件中namespace要等于接口的全路径名称
b. 映射文件中sql语句id要等于接口的方法名称
c. 映射文件中传入参数类型要等于接口方法的传入参数类型
d. 映射文件中返回结果集类型要等于接口方法的返回值类型

2、编写Mapper.java(接口)

UserMapper.java:

public interface UserMapper {
    public User findUserById(Integer id);

}
3、加载Mapper.xml

SqlMapConfig.xml:

<mappers>
    <mapper resource="User.xml"/>
    <mapper class="com.sise.mapper.UserMapper"/>
</mappers>
4、测试

UserMapperTest:

public class UserMapperTest {
    @Test
    public void testUserMapper() throws IOException {
        String resource = "SqlMapConfig.xml";
        // 通过流的方法将核心配置文件加载进来
        InputStream inputStream = Resources.getResourceAsStream(resource);
        // 通过核心配置输入流创建会话工厂
        SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(inputStream);
        // 通过会话工厂创建会话
        SqlSession openSession = factory.openSession();
        // 通过getMapper方法来实例化接口
        UserMapper mapper = openSession.getMapper(UserMapper.class);
        User user = mapper.findUserById(1);
        System.out.println(user);
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值