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

色流网站怎么做做网站要建立站点吗

色流网站怎么做,做网站要建立站点吗,自己学网站建设,wordpress 获取页面链接前言对于任何框架而言#xff0c;在使用前都要进行一系列的初始化#xff0c;MyBatis也不例外。本章将通过以下几点详细介绍MyBatis的初始化过程。MyBatis的初始化做了什么MyBatis基于XML配置文件创建Configuration对象的过程手动加载XML配置文件创建Configuration对象完成初…前言对于任何框架而言在使用前都要进行一系列的初始化MyBatis也不例外。本章将通过以下几点详细介绍MyBatis的初始化过程。MyBatis的初始化做了什么MyBatis基于XML配置文件创建Configuration对象的过程手动加载XML配置文件创建Configuration对象完成初始化创建并使用SqlSessionFactory对象涉及到的设计模式一、 MyBatis的初始化做了什么任何框架的初始化无非是加载自己运行时所需要的配置信息。MyBatis的配置信息大概包含以下信息其高层级结构如下× configuration 配置 × properties 属性 × settings 设置 × typeAliases 类型命名 × typeHandlers 类型处理器 × objectFactory 对象工厂 × plugins 插件 × environments 环境 × environment 环境变量 × transactionManager 事务管理器 × dataSource 数据源×映射器MyBatis的上述配置信息会配置在XML配置文件中那么这些信息被加载进入MyBatis内部MyBatis是怎样维护的呢MyBatis采用了一个非常直白和简单的方式---使用 org.apache.ibatis.session.Configuration 对象作为一个所有配置信息的容器Configuration对象的组织结构和XML配置文件的组织结构几乎完全一样(当然Configuration对象的功能并不限于此它还负责创建一些MyBatis内部使用的对象如Executor等这将在后续的文章中讨论)。如下图所示MyBatis根据初始化好Configuration信息这时候用户就可以使用MyBatis进行数据库操作了。可以这么说MyBatis初始化的过程就是创建 Configuration对象的过程。MyBatis的初始化可以有两种方式基于XML配置文件基于XML配置文件的方式是将MyBatis的所有配置信息放在XML文件中MyBatis通过加载并XML配置文件将配置文信息组装成内部的Configuration对象基于Java API这种方式不使用XML配置文件需要MyBatis使用者在Java代码中手动创建Configuration对象然后将配置参数set 进入Configuration对象中(PS: MyBatis具体配置信息有哪些又分别表示什么意思不在本文的叙述范围)接下来我们将通过 基于XML配置文件方式的MyBatis初始化深入探讨MyBatis是如何通过配置文件构建Configuration对象并使用它的。二、MyBatis基于XML配置文件创建Configuration对象的过程现在就从使用MyBatis的简单例子入手深入分析一下MyBatis是怎样完成初始化的都初始化了什么。看以下代码 有过MyBatis使用经验的读者会知道上述语句的作用是执行com.foo.bean.BlogMapper.queryAllBlogInfo 定义的SQL语句返回一个List结果集。总的来说上述代码经历了mybatis初始化 --创建SqlSession --执行SQL语句 返回结果三个过程。上述代码的功能是根据配置文件mybatis-config.xml 配置文件创建SqlSessionFactory对象然后产生SqlSession执行SQL语句。而mybatis的初始化就发生在第三句SqlSessionFactory sqlSessionFactory new SqlSessionFactoryBuilder().build(inputStream); 现在就让我们看看第三句到底发生了什么。MyBatis初始化基本过程SqlSessionFactoryBuilder根据传入的数据流生成Configuration对象然后根据Configuration对象创建默认的SqlSessionFactory实例。初始化的基本过程如下序列图所示由上图所示mybatis初始化要经过简单的以下几步1. 调用SqlSessionFactoryBuilder对象的build(inputStream)方法2. SqlSessionFactoryBuilder会根据输入流inputStream等信息创建XMLConfigBuilder对象;3. SqlSessionFactoryBuilder调用XMLConfigBuilder对象的parse()方法4. XMLConfigBuilder对象返回Configuration对象5. SqlSessionFactoryBuilder根据Configuration对象创建一个DefaultSessionFactory对象6. SqlSessionFactoryBuilder返回 DefaultSessionFactory对象给Client供Client使用。SqlSessionFactoryBuilder相关的代码如下所示上述的初始化过程中涉及到了以下几个对象SqlSessionFactoryBuilder SqlSessionFactory的构造器用于创建SqlSessionFactory采用了Builder设计模式Configuration 该对象是mybatis-config.xml文件中所有mybatis配置信息SqlSessionFactorySqlSession工厂类以工厂形式创建SqlSession对象采用了Factory工厂设计模式XmlConfigParser 负责将mybatis-config.xml配置文件解析成Configuration对象共SqlSessonFactoryBuilder使用创建SqlSessionFactory创建Configuration对象的过程接着上述的 MyBatis初始化基本过程讨论当SqlSessionFactoryBuilder执行build()方法调用了XMLConfigBuilder的parse()方法然后返回了Configuration对象。那么parse()方法是如何处理XML文件生成Configuration对象的呢1. XMLConfigBuilder会将XML配置文件的信息转换为Document对象而XML配置定义文件DTD转换成XMLMapperEntityResolver对象然后将二者封装到XpathParser对象中XpathParser的作用是提供根据Xpath表达式获取基本的DOM节点Node信息的操作。如下图所示 2. 之后XMLConfigBuilder调用parse()方法会从XPathParser中取出 节点对应的Node对象然后解析此Node节点的子Nodeproperties, settings, typeAliases,typeHandlers, objectFactory, objectWrapperFactory, plugins, environments,databaseIdProvider, mappers注意在上述代码中还有一个非常重要的地方就是解析XML配置文件子节点的方法mapperElements(root.evalNode(mappers)), 它将解析我们配置的Mapper.xml配置文件Mapper配置文件可以说是MyBatis的核心MyBatis的特性和理念都体现在此Mapper的配置和设计上我们将在后续的文章中讨论它敬请期待 3. 然后将这些值解析出来设置到Configuration对象中。解析子节点的过程这里就不一一介绍了用户可以参照MyBatis源码仔细揣摩我们就看上述的environmentsElement(root.evalNode(environments)); 方法是如何将environments的信息解析出来设置到Configuration对象中的4. 返回Configuration对象 我们将上述的MyBatis初始化基本过程的序列图细化。三、手动加载XML配置文件创建Configuration对象完成初始化创建并使用SqlSessionFactory对象我们可以使用XMLConfigBuilder手动解析XML配置文件来创建Configuration对象代码如下四、涉及到的设计模式初始化的过程涉及到创建各种对象所以会使用一些创建型的设计模式。在初始化的过程中Builder模式运用的比较多。Builder模式应用1 SqlSessionFactory的创建对于创建SqlSessionFactory时会根据情况提供不同的参数其参数组合可以有以下几种由于构造时参数不定可以为其创建一个构造器Builder将SqlSessionFactory的构建过程和表示分开MyBatis将SqlSessionFactoryBuilder和SqlSessionFactory相互独立。Builder模式应用2 数据库连接环境Environment对象的创建在构建Configuration对象的过程中XMLConfigParser解析 mybatis XML配置文件节点节点时会有以下相应的代码在Environment内部定义了静态内部Builder类以上就是本文 《深入理解mybatis原理》Mybatis初始化机制详解的全部内容希望对大家有所帮助上述内容如有不妥之处还请读者指出共同探讨共同进步
http://www.zqtcl.cn/news/933146/

相关文章:

  • .net 手机网站开发wordpress下载链接框
  • 省直部门门户网站建设网站视频点播怎么做
  • 广西网站建设-好发信息网做信息图的网站
  • 网站建设费用怎么算遵义市住房和城乡建设局官方网站
  • 网站部分网页乱码手把手教建设网站
  • 电商网站开发目的举报网站建设运行情况
  • 网站专业设计在线科技成都网站推广公司
  • 怎么建设幸运28网站seo工作是什么意思
  • 人工智能和网站开发如何做网站栏目
  • 设计有什么网站推荐ppt大全免费模板
  • 建站点wordpress百度云
  • 微信朋友圈的网站连接怎么做公众号小程序制作步骤
  • 做移动互联网站点网站建设完工确认书
  • 网站建设英语翻译资料潼南国外免费自助建站
  • 技术支持上海网站建设如何在自己电脑上做网站
  • go语做网站深圳网上推广怎么做
  • 十堰网站建设电话刷网站流量有用吗
  • 轴承推广做哪个网站怎么在app中嵌入h5页面
  • 文书写作网站模板制作过程
  • 国外做家纺的网站wordpress导航加title
  • 阿里云备案网站名称服务器租用相关网站
  • 莆田市的网站建设公司网站身份验证怎么做
  • 手机建站永久免费软件网站根目录 设置
  • 网站内容和备案不一3d建模师容易找工作吗
  • 深圳装饰公司网站怎么做正规网站
  • 福建省建设行业企业资质查询网站跨境电商网络营销是什么
  • 做科技汽车的视频网站有哪些内容wordpress长文分页
  • 哪里有建设好的网站自助建站管理平台
  • 优秀网站建设公司电话建站公司用的服务器
  • 湖南网站推广公司上海公司买车上牌规定