动态代理Dao

假设现在环境已配好,需要使用动态代理的Dao,也被称为mapper

1. 创建接口UserMapper.java

接口和以前一样,正常定义

public interface UserMapper {
    public User getUserById(Integer id);
}

2. 创建UserMapper.xml ,用于编写sql映射

注意

  • 在同一包下创建映射文件
  • namespace 为接口的全路径
  • id 为接口对应的方法
  • 输入、输出参数类型要一致
<?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.itheima.mapper.UserMapper">
    <select id="getUserById" parameterType="java.lang.Integer" resultType="com.itheima.pojo.User">
        select * from user where id = #{id}
    </select>
</mapper>

3. 在配置文件中 加载映射

<package name="com.itheima.mapper"/>

在映射文件和接口文件 同一包下时,可使用package配置。

4.测试程序

  1. 获取session
  2. 传入mapper接口类,获取mapper
  3. 调用mapper方法
public class Demo1 {
    private SqlSessionFactory factory;
    @Before
    public void setUp() throws IOException {
        String resource = "SqlMapConfig.xml";
        InputStream inputStream = Resources.getResourceAsStream(resource);
        this.factory = new SqlSessionFactoryBuilder().build(inputStream);
    }
    public void run1(){
      SqlSession session = this.factory.openSession();
      UserMapper mapper = session.getMapper(UserMapper.class);
      User user = mapper.getUserById(5);
      System.out.println(user);
      session.commit();
    }   

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容