测试代码
@Test
public void testFindUserById() throws Exception {
SqlSession sqlSession = sqlSessionFactory.openSession();
//创建UserMapper对象
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
//调用userMapper的方法
User user = userMapper.findUserById(1);
sqlSession.close();
System.out.println(user);
}
代理对象内部调用selectOne或selectList
- 如果mappe方法返回单个pojo对象(非集合对象),代理对象内部通过selectOne查询数据库
- 如果mapper方法返回集合对象,代理对象内部通过selectList查询数据库。
mapper接口方法参数只有一个是否影响系统的开发
mapper接口方法参数只能有一个,系统是否不利于扩展维护
系统框架中,dao层的代码是被业务层公用的。
即使mapper接口只有一个参数,可以使用包装类型的pojo满足不同的业务方法的需求。
注意:持久层方法的参数可以包装类型、map....,service方法中建议不要使用包装类型(不利于业务层的可扩展)