如果想要基于Mapper的方式执行
1.Dao层次保留 Dao中的方法结构 参数 返回值 均不动
只是将原有的具体方法变成抽象方法 Dao具体类变成接口
2.在Service层中获取Dao的方式发生改变
//MySqlSessionFactory是自定义静态类用于获取SqlSession对象
//代理对象
private StudentDao dao = MySqlSessionFactory.getSqlSession(true).getMapper(StudentDao.class);
dao的代理执行过程:
dao的代理 需要调用SqlSession做事(“sql的id”,参数);
(代理可以找到参数 代理相当于是原来Dao的子类 可能会有方法重写。。。
)
代理如何找到sql的呢?(反射)——映射文件名字的规则
namespace dao的类全名一致
标签中的id dao的方法名字一致