Dao层mapper开发:


如果不写实现类,他会使用代理的方式生成实现代码。想要使用mapper开发,必须遵循以下原则:

①  接口的名字建议和mapper映射文件的名字保持一致,并且在同一目录下,

cn.hd.dao.UserMapper

②  接口中方法名必须和mapper中的id保持一致

③  方法的返回值要和配置文件中的resourceType保持一致。

④  参数的类型必须保持一致

 

在代码中就不需要关注sqlSession对象的方法调用了insert update delete selectOne selectList

UserMapper mapper = session.getMapper(UserMapper.class);

返回的是一个接口的代理对象,直接调用在对象的方法即可。

InputStream inputStream = Resources.getResourceAsStream("cn/hd/dao/sqlMapConfig.xml");
SqlSessionFactory build = new SqlSessionFactoryBuilder().build(inputStream);
SqlSession session = build.openSession();
UserMapper mapper = session.getMapper(UserMapper.class);
User user = mapper.findUserById(5);
System.out.println(user);

注:使用mapper开发,它的参数必须只有一个。(解决的方法,将多的参数封装成pojo)

Mybatis自动识别方法的返回值,从而调用sessionselectOneselectList方法


你可能感兴趣的:(Dao层mapper开发:)