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

中国风 古典 红色 网站源代码dede和wordpress哪个安全

中国风 古典 红色 网站源代码,dede和wordpress哪个安全,可以自己画图设计的软件,上海营销型网站建设哪家好在了解插件开发之前,我们先总体的来梳理一下Mybatis的大致执行流程: 1.new SqlSessionFactoryBuilder().build(inputStream):先根据配置文件(包含了全局配置文件和映射配置文件)初始化一个对象Configuration(这里对象里…

在了解插件开发之前,我们先总体的来梳理一下Mybatis的大致执行流程:

1.new SqlSessionFactoryBuilder().build(inputStream):先根据配置文件(包含了全局配置文件和映射配置文件)初始化一个对象Configuration(这里对象里包含了所有配置文件里的标签信息,这里包含的每个MappedStatement对象就代表一个增删改查的标签),然后在将这个对象传入buile方法build(configuration),返回一个DefaultSqlSessionFactory对象实例(它是接口SqlSessionFactory的实现类)。

2.sqlSessionFactory.openSession():实际上是DefaultSqlSessionFactory对象实例调用openSessionFromDataSource,根据session(执行器类型)和全局变量的设置:

创建一个Executor(它是执行sql查询语句的):

最后返回对象DefaultSqlSession(configuration(所有配置信息), executor(执行sql的执行器), autoCommit);

3.DefaultSqlSession.getMapper():获取到对应的Mapper接口的代理对象,MapperProxy(代理对象),这个代理对象里包含有Mapper接口里的所有方法以及和数据库之间的会话DefaultSqlSession对象,而这个对象又包含:对象DefaultSqlSession(configuration(所有配置信息), executor(执行sql的执行器), autoCommit);

4.userMapper.selectByPrimaryKey(1):执行增删改查方法

①MapperProxy调用invoke方法

这里将接口方法转换为MapperMethod,然后调用executor对象执行增删改查的操作

②执行增删改查的过程中Executor会创建StatementHandler对象和ParameterHandler、ResultSetHandler对象

③调用StatementHandler执行sql语句,调用ParameterHandler通过typeHandler设置sql语句中的参数,调用ResultSetHandler通过typeHandler封装sql语句查询出来的结果集

在Mybatis执行流程中涉及四个关键的对象Executor,StatementHandler,ParameterHandler,ResultSetHandler,了解一个与插件开发有关的重要的信息:这四个对象在创建完成返回之前,都会被一个方法过滤一遍的代码:intercepterChain.pluginAll(xxxxHandler/Executor)

上述的方法源码:

/** * 每一个拦截器对目标类都进行一次代理 * @paramtarget * @return 层层代理后的对象 */  public Object  pluginAll(Object target) {  for(Interceptor interceptor : interceptors) {  target= interceptor.plugin(target);  }  return target;  
}

很明显,四大对象在创建返回之前,被一组过滤器逐一的拦截过滤了一遍,这个拦截器类型的接口Interceptor就是插件要实现的接口。所以说,我们开发插件的本质其实就是(AOP面向切面编程思想的一个切面),在四大对象返回之前,我们可以对它拦截后创建一个代理对象,对原对象进行封装,加工,增加我们想要的各种功能,然后用代理对象替换掉原对象。这就是Mybatis插件的本质! 

 

 

http://www.yayakq.cn/news/189679/

相关文章:

  • 企业网站的技术维护内容主要包括现在做网络推广网站建设怎么样
  • 重庆网站建设首选卓光南阳seo长尾关键词
  • 大庆 网站制作惠阳开发网站建设
  • 阿里巴巴网站装修池州专业网站建设怎么样
  • 宠物网站建设策划方案网页模板下载
  • 传奇网站架设方法wordpress 自定义字体
  • 企业ppt设计公司上海网站排名优化优化
  • 塘沽集团网站建设如何制作个人网页封面
  • 网络建站招聘佛山禅城网站建设
  • 哪个网站用织梦做的免费wordpress主机
  • 学做网站学什么语言做调研的网站一般有哪些
  • wordpress基础主题站网站建设首页模板
  • 搭建科技网站价格如何做网站的充值功能
  • 企业网站的运营如何做有空间域名服务器怎么做网站
  • php 网站调试网站研发公司
  • 免费企业cms建站系统苏格网站建设
  • 滕州网站建设哪家好杭州婚恋网站建设
  • wordpress缩写是什么wordpress 分类 seo
  • 在线制作图片网站郧阳网站建设
  • 网站关键词密这么稀释怎样给建设的网站提意见
  • 备案核验单 网站类型金华安全网站建设怎么收费
  • 适合初学者做的网页莱芜网站建设优化
  • 北京网站建设公司黄页c#+网站开发实例
  • 网站自定义功能实现中山做网站服务好
  • 机关网站源码河南锦路路桥建设有限公司网站
  • 口碑好的高密网站建设网站百度突然不收录
  • wordpress 整站ssl做软件难吗
  • 做HH网站昆明网络推广
  • 网站规划和建设的基本步骤十大传媒公司排名
  • 前台网站开发技术百度投诉中心入口