Mybatis源码 查询实现
接下来看mapper.getEmpById(1)是如何实现的
主要就是调用DefaultSqlSession的增删改查,然后创建StatementHandler对象,再预编译产生prepareStatement对象用PramterHandler设置参数值,再调用增删改查方法用ResultHandler处理结果集
查询流程图
MapperProxy的invoke方法
mapper是通过动态代理newProxyInstance方法创建的,因此对象调用方法的时候就会执行第三个参数也就是继承Invocationhandler的实现类MapperProxy的invoke方法<