java小练习题,请大伙帮我看下。附图,谢谢!
本人菜鸟一枚,刚学java。遇到一点不明白的地方,请大神开导。/**首先我定义一个接口,在接口中定义一个数据库动态分页查房方法。该方法有两个参数,记录了要查询起始位置与结...
本人菜鸟一枚,刚学java。遇到一点不明白的地方,请大神开导。
/*
* 首先我定义一个接口,在接口中定义一个数据库动态分页查房方法。该方法有两个参数,记录了要查询起始位置与结束位置。
* public interface StudentDao{
* List<Student> findPageStudent(Integer startIndex, Integer pageSize);
* }
* 测试类
* mian(){
*获取SqlSession对象.......
* Sqlsession session = sqlSessionFactory.openSession();....
*
* 获取StudentDao对象
* Student dao = session.getMapper(Student.class);我不明白这个步骤,传进去的不是一个接口?接口不是不能创建对象的?为什么还用Student一个类变量接收?
* }
* */ 展开
/*
* 首先我定义一个接口,在接口中定义一个数据库动态分页查房方法。该方法有两个参数,记录了要查询起始位置与结束位置。
* public interface StudentDao{
* List<Student> findPageStudent(Integer startIndex, Integer pageSize);
* }
* 测试类
* mian(){
*获取SqlSession对象.......
* Sqlsession session = sqlSessionFactory.openSession();....
*
* 获取StudentDao对象
* Student dao = session.getMapper(Student.class);我不明白这个步骤,传进去的不是一个接口?接口不是不能创建对象的?为什么还用Student一个类变量接收?
* }
* */ 展开
3个回答
2020-06-04
展开全部
你应该用你定义的StudentDao接收,代码应该是StudentDao dao = session.getMapper(StudentDao.class),这样才能调用你定义的分页方法。session.getMapper() 的底层原理是基于JDK动态代理方法内部产生了StudentDao的实现类。
追问
* Student dao = session.getMapper(Student.class);我不明白这个步骤。把一个接口类的全路径当参数传进去,然后再用一个接口类型的变量接收。听你这么一说,大概明白了。接口是不可以创建对象的,但是调用getMapper() 这个方法的底层,去帮我创建对象了。
追答
是的,底层也是用它的实现类创建对象,用接口接收是可以的,这也是java多态的一种体现。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
让我学习题帮,帮大家看一看是正常的,我感觉这里的游戏是非常好的音乐专业。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
java小练习题,请大伙帮我看下。附图,谢谢是啊、不过现在
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询