您的位置:首页 > 其它

SSM项目从零开始到入门010-mybatis提供的动态代理实现过程探究

2017-12-15 15:26 363 查看
mybatis提供的动态代理实现过程探究

上小节我们简单实现了mybatis的动态代理,本节我们跟进动态代理的实现



我们在上图47行的地方打上一个断点,然后debug执行程序



点击F5跟进程序



上面的sqlsession即我们创建的sqlsession   args为参数,点击F5继续跟进execute函数



因为我们执行是insert方法



我们在此处按F5跟进



此处返回的为我们的User对象属性,F6下一步继续跟进


看上图返回值,是返回了我们写的方法的名称全路径,我们跟进这个方法,点击F5跟进



原来这个路径是通过我们的配置文件全路径,然后加上方法id得到的,我们F6继续跟进



点击F5进入此方法



显然这个方法是得到了addUser方法的配置信息,我们继续跟进152行





70行刷新了下缓存,继续跟进update方法



继续跟进法继续跟进doUpdate方法



doUpdate方法中定义了Statement对象,handler组装了sql语句,      跟进48行update方法



方法将satement转换为预加载preparesatement然后执行并返回受影响行数



最后程序关闭预加载

整体流程整理如下图

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: