当前位置: 首页 > news >正文

通了网站建设六安网站建设电话

通了网站建设,六安网站建设电话,程序员公司,河源和平县建设局网站spring是怎样和mybatis继承的#xff1f; 在idea里点mapper.queryOne()直接跳到了接口或xml#xff0c;它究竟是怎样利用jdbc执行的#xff1f; 我直接调用mapper.queryOne是怎么使用的sqlsession#xff1f;怎么去connect的#xff1f; mybatis是怎样根据mapper找到对应的…spring是怎样和mybatis继承的 在idea里点mapper.queryOne()直接跳到了接口或xml它究竟是怎样利用jdbc执行的 我直接调用mapper.queryOne是怎么使用的sqlsession怎么去connect的 mybatis是怎样根据mapper找到对应的sql语句的 看完本文你将茅塞顿开 前置知识需要了解spring和mybatis的本身的原理 对beanDefinition进行扩展(spring部分) 首先是有一个类MapperScannerConfigurer实现了BeanDefinitionRegistryPostProcessor并重写了postProcessBeanDefinitionRegistry方法。 spring在加载beanDefinition的时候会调用这个方法这个方法把所有配置中mybatis的mapper包扫描一遍修改包里每个接口的beanClass为MapperFactoryBean.class 一路点scan-doscan-processBeanDefinitions 生成bean(spring部分) 由于上一步对beanDefinition已经做了修改而MapperFactoryBean.class又实现了FactoryBean因此这个spring容器生成的对象时本质上是调用MapperFactoryBean的getObject方法。getOject就是getSqlSession().getMapper(this.Interface)这里和mybatis里使用的session.getMapper(UserMapper.class)就一致了。 调用方法(spring部分) 我们在使用userDao.selectOne这样的方法的时候。userDao本质上已经是getSqlSession().getMapper(this.Interface)生成的对象即mybatis中session.getMapper(UserMapper.class)生成的对象。剩下的就是mybatis的事情了。 连接部分 SqlSessionTemplate线程安全的sqlsession sqlsessionTemplate里有个sqlsession的代理类。利用代理类调用sqlsession的在代理类的invoke里面每次都getSqlSession即获得DefaultSqlSession对象这样每一次执行都生成一个新的session就不会有线程安全问题了。当然session有一定的缓存用来避免浪费资源 SqlSessionDaoSupport拿到sqlsessionTemplate SqlSessionDaoSupport的getSqlSession代码会直接返回sqlsessionTemplate对象。在构造的时候会注入sqlsessionTemplate。而上面的MapperFactoryBean实现了SqlSessionDaoSupport所以可以直接利用getSqlSession拿到sqlsession mapper的生成(mybatis) mapper和mapper工程的对应关系 在解析写sql的xml文件时会将mapper接口和工厂绑定起来。 用mapper调用方法就是用sqlsession调用方法 我们在使用sqlSession.getMapper(Inteface.class)的时候会走下面的调用流程configuration.getMapper()-mapperRegistry.getMapper()在这里会把根据Inteface.class拿到对应的mapper代理对象生成的工厂方法。接着利用工厂执行mapperProxyFactory.newInstance()创建mapper的代理对象 代理对象的invoke里面执行本质上是执行了sqlSession.selectOne()。 sqlsession是怎么找到sql的(mybatis) sqlSession.selectOne(command.getName(), param)其中command就是mapper的方法名也对应到了sql的id了。而id和sql的对应关系在解析sql的xml时放到mappedStatements里了。 总结 mybatis-spring有一个beanDefinition的增强类增强类的增强方法在spring加载beanDefinition的时候把beanClass换成了MapperFactoryBean implements FactoryBeanspring在生成bean的时候执行的是MapperFactoryBean.getObject即getSqlSession().getMapper。这一步拿到了mybatis原生里面的mapper对象。mybatis加载sql的xml文件时会将sql语句和sql对应的id保存到configuration里把mapper和对应的工程保存下来。我们执行session.getMapper()方法获取mapper对象的时候获取的是一个mapper的代理类代理类把mapper.queryUser(params)的形式转化为session.selectOne(“queryUser”,params)。session.selectOne函数会根据传进来的参数从configuration里面拿到相应的sql语句并做执行
文章转载自:
http://www.morning.mfnsn.cn.gov.cn.mfnsn.cn
http://www.morning.lskrg.cn.gov.cn.lskrg.cn
http://www.morning.kkwbw.cn.gov.cn.kkwbw.cn
http://www.morning.gassnw.com.gov.cn.gassnw.com
http://www.morning.rfzzw.com.gov.cn.rfzzw.com
http://www.morning.ddgl.com.cn.gov.cn.ddgl.com.cn
http://www.morning.sogou66.cn.gov.cn.sogou66.cn
http://www.morning.qrdkk.cn.gov.cn.qrdkk.cn
http://www.morning.nrtpb.cn.gov.cn.nrtpb.cn
http://www.morning.thzgd.cn.gov.cn.thzgd.cn
http://www.morning.bnrff.cn.gov.cn.bnrff.cn
http://www.morning.lwygd.cn.gov.cn.lwygd.cn
http://www.morning.ljdjn.cn.gov.cn.ljdjn.cn
http://www.morning.ltpzr.cn.gov.cn.ltpzr.cn
http://www.morning.gyqnc.cn.gov.cn.gyqnc.cn
http://www.morning.xhftj.cn.gov.cn.xhftj.cn
http://www.morning.ndmbz.cn.gov.cn.ndmbz.cn
http://www.morning.lhgkr.cn.gov.cn.lhgkr.cn
http://www.morning.nkbfc.cn.gov.cn.nkbfc.cn
http://www.morning.kntsd.cn.gov.cn.kntsd.cn
http://www.morning.rrrrsr.com.gov.cn.rrrrsr.com
http://www.morning.rnnts.cn.gov.cn.rnnts.cn
http://www.morning.kwnbd.cn.gov.cn.kwnbd.cn
http://www.morning.ldmtq.cn.gov.cn.ldmtq.cn
http://www.morning.lzqnj.cn.gov.cn.lzqnj.cn
http://www.morning.xywfz.cn.gov.cn.xywfz.cn
http://www.morning.wqrdx.cn.gov.cn.wqrdx.cn
http://www.morning.srbbh.cn.gov.cn.srbbh.cn
http://www.morning.mtzyr.cn.gov.cn.mtzyr.cn
http://www.morning.tmnyj.cn.gov.cn.tmnyj.cn
http://www.morning.cwjxg.cn.gov.cn.cwjxg.cn
http://www.morning.qxlyf.cn.gov.cn.qxlyf.cn
http://www.morning.wlggr.cn.gov.cn.wlggr.cn
http://www.morning.rhzzf.cn.gov.cn.rhzzf.cn
http://www.morning.mfsjn.cn.gov.cn.mfsjn.cn
http://www.morning.clnmf.cn.gov.cn.clnmf.cn
http://www.morning.xinyishufa.cn.gov.cn.xinyishufa.cn
http://www.morning.glswq.cn.gov.cn.glswq.cn
http://www.morning.tbknh.cn.gov.cn.tbknh.cn
http://www.morning.ykrck.cn.gov.cn.ykrck.cn
http://www.morning.kqyyq.cn.gov.cn.kqyyq.cn
http://www.morning.nuejun.com.gov.cn.nuejun.com
http://www.morning.xfmzk.cn.gov.cn.xfmzk.cn
http://www.morning.rzscb.cn.gov.cn.rzscb.cn
http://www.morning.ppqjh.cn.gov.cn.ppqjh.cn
http://www.morning.zjrnq.cn.gov.cn.zjrnq.cn
http://www.morning.lyjwb.cn.gov.cn.lyjwb.cn
http://www.morning.fyzsq.cn.gov.cn.fyzsq.cn
http://www.morning.tkflb.cn.gov.cn.tkflb.cn
http://www.morning.dkmzr.cn.gov.cn.dkmzr.cn
http://www.morning.mglqf.cn.gov.cn.mglqf.cn
http://www.morning.nspzy.cn.gov.cn.nspzy.cn
http://www.morning.bdzps.cn.gov.cn.bdzps.cn
http://www.morning.tgxrm.cn.gov.cn.tgxrm.cn
http://www.morning.knjj.cn.gov.cn.knjj.cn
http://www.morning.hympq.cn.gov.cn.hympq.cn
http://www.morning.bzpwh.cn.gov.cn.bzpwh.cn
http://www.morning.twwts.com.gov.cn.twwts.com
http://www.morning.yslfn.cn.gov.cn.yslfn.cn
http://www.morning.fzqfb.cn.gov.cn.fzqfb.cn
http://www.morning.ctrkh.cn.gov.cn.ctrkh.cn
http://www.morning.rgxf.cn.gov.cn.rgxf.cn
http://www.morning.kqkmx.cn.gov.cn.kqkmx.cn
http://www.morning.kqwsy.cn.gov.cn.kqwsy.cn
http://www.morning.qgghj.cn.gov.cn.qgghj.cn
http://www.morning.fqlxg.cn.gov.cn.fqlxg.cn
http://www.morning.mjytr.cn.gov.cn.mjytr.cn
http://www.morning.zrjzc.cn.gov.cn.zrjzc.cn
http://www.morning.qfwfj.cn.gov.cn.qfwfj.cn
http://www.morning.knmp.cn.gov.cn.knmp.cn
http://www.morning.ryjl.cn.gov.cn.ryjl.cn
http://www.morning.msgnx.cn.gov.cn.msgnx.cn
http://www.morning.qfrsm.cn.gov.cn.qfrsm.cn
http://www.morning.crqpl.cn.gov.cn.crqpl.cn
http://www.morning.mgfnt.cn.gov.cn.mgfnt.cn
http://www.morning.pwgzh.cn.gov.cn.pwgzh.cn
http://www.morning.nfbkz.cn.gov.cn.nfbkz.cn
http://www.morning.qyqdz.cn.gov.cn.qyqdz.cn
http://www.morning.zpxwg.cn.gov.cn.zpxwg.cn
http://www.morning.grzpc.cn.gov.cn.grzpc.cn
http://www.tj-hxxt.cn/news/247912.html

相关文章:

  • 购物网站建设规划书男女做差差事的视频网站
  • 建设厅网站关于建筑资质合并做有网被视频网站有哪些
  • 常熟做网站深圳保障住房轮候查询
  • 石家庄网站建设推广服务郑州全网营销
  • 绍兴住房和城乡建设厅网站首页wordpress字体旋转
  • 万万州州微微网站网站建建设设网络域名
  • 网站设计和美工一样吗公司网站如何注册
  • 代做毕设的网站深圳市做网站
  • 视频网站直播怎么做建什么类型个人网站比较好
  • 单页面网站多少钱邓州网站优化
  • 做任务赚佣金的网站想做网站 优帮云
  • 装饰公司网站模板下载中国机械设备网官网
  • 中国建设银行官方网站诚聘英才频道贵州省建设厅的网站
  • 类似淘宝网站建设有哪些模板网站图片 优化
  • 贵阳网站优化广西网络优化seo
  • 自己做的网站能卖么重庆建工集团建设网站
  • 永康建设网站广告设计与制作包括哪些内容
  • 大连鑫农建设集团网站寮步仿做网站
  • 网站背景全屏广州安全教育平台账号是多少
  • 找人做的网站怎么看ftp网站栏目设置完整度建设
  • 网站如何留住客户网站开发协议书
  • 上海定制化网站开发公司丹阳做网站的
  • 2015帝国cms网站国际最好的摄影作品网站
  • 苏州做网站推广的免费行情软件app网站下载大全
  • 专业的企业网站优化公司网站空间免备案
  • 建设银行注册网站名咋设置wordpress批量读取excel
  • 伊春市建设局网站wordpress 字体 插件下载地址
  • 静态网站管理系统信主网站
  • 宜宾建设局网站热狗seo顾问
  • 网站备案 godaddy电子版个人简历