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

南宁公司的网站建设wordpress批量跳转

南宁公司的网站建设,wordpress批量跳转,企业网站做的漂亮,虚拟主机多个网站目录 1. 传统JDBC 2. Mybatis访问数据库 2.1 Statement访问数据库 2.2 火枪手 ResultSetHandler 出现 3. ResultSetHandler处理结果集 3.1 首先就是进入 handleResultSets 方法 3.2 handleResultSet 方法根据映射规则#xff08;resultMap#xff09;对结果集进行转化…目录 1. 传统JDBC 2. Mybatis访问数据库 2.1  Statement访问数据库 2.2  火枪手 ResultSetHandler 出现 3. ResultSetHandler处理结果集 3.1 首先就是进入 handleResultSets 方法 3.2 handleResultSet 方法根据映射规则resultMap对结果集进行转化 3.3 handleRowValuesForSimpleResultMap 方法对行进行映射处理 4.  getRowValue方法针对读取ResultSet对象进行映射3.3细化 4.1 根据resultMap的type属性实例化目标对象 4.2 对目标对象进行封装得到metaObjcect,为后续的赋值操作做好准备 4.3一般情况下 autoMappingBehavior默认值为PARTIAL对未明确指定映射规则的字段进行自动映射 4.4 映射resultMap中明确指定需要映射的列 4.5 如果没有一个映射成功的属性则根据的配置返回null或者结果对象 5. 保存映射结果对象 5.1  resultContext 计数作用 5.2 ResultHandler存储结果集 6. 主流程over 1. 传统JDBC Mybatis其实就是封装传统JDBC的它和传统JDBC访问数据库基本一模一样。因此不要觉得Mybatis有多高级。而 ResultSetHandler 就是处理我们JDBC访问数据库获取到的ResultSet结果集的。在此之前我们还是先看一下传统JDBC 再次基础之上我们继续分析Mybatis是如何访问数据库并且封装对象的。 2. Mybatis访问数据库 中间涉及到设置参数初始化Statement等操作这些在MyBatis源码分析_Executor组件及3个火枪手6_chen_yao_kerr的博客-CSDN博客已经 分析过了。接下来将是直接分析访问数据库以及返回结果集的处理。 最终他会调用到 RoutingStatementHandler的query方法。而我们在实例化RoutingStatementHandler的时候我们说过它是典型的策略模式。它是根据xml配置文件的信息生成不同的StatementHandler对象而本文则是基于PreparedStamentHandler进行的因此它必然会进入PreparedStamentHandler的query方法 2.1  Statement访问数据库 最终调用的是mysql的底层jar包PreparedStatementLogger对象访问的数据库这一点和JDBC访问的方式一模一样我们就不做过多的分析了。 2.2  火枪手 ResultSetHandler 出现 访问数据库结束以后我们会对调用ResultSetHandler对象对结果集进行mybatis特有的处理这一点是和JDBC不同的 而 StatementHandler 的基类中是持有ResultSetHandler的 所有我们的PreparedStatementHandler才可以直接使用ResultSetHandler对象处理结果集ResultSet. 3. ResultSetHandler处理结果集 3.1 首先就是进入 handleResultSets 方法 a. 首先就是从Statement对象中获取第一个结果集ResultSet并包装成 ResultSetWrapper b. 获取结果集对应的ResultMap这个是在第一阶段加载xml文件的时候就准备好的column-property的形式 c. 根据映射规则resultMap对结果集进行转化转换成目标对象以后放入multipleResults中 d. 获取下一个结果集继续遍历直到遍历完所有的结果集位置。 3.2 handleResultSet 方法根据映射规则resultMap对结果集进行转化 其实这个方法就是对结果集进行缓存处理并且在填充完以后放入list中。 3.3 handleRowValuesForSimpleResultMap 方法对行进行映射处理 针对读取ResultSet对象进行映射并且保存映射结果我将单独开一个大的段落进行分析。本篇后面的所有内容都是针对此处进行详细分析。 4.  getRowValue方法针对读取ResultSet对象进行映射3.3细化 首先看一下getRowValue方法的总体结构后面将针对这个结果逐步分析每一步都干了什么事情 4.1 根据resultMap的type属性实例化目标对象 这一步挺简单的就是根据我们配置的返回值类型实例化出来一个空的对象方便后面的步骤进行值的设置 4.2 对目标对象进行封装得到metaObjcect,为后续的赋值操作做好准备 元数据对象由Configuration对象负责生成它是mybatis提供的反射工具类。因为这是一个底层代码使用反射设置属性值是通用做法而传统的java反射对处理List、Map、嵌套类等处理起来并不方便。而Mybatis提供的MetaObject对象能够很好的处理集合、嵌套类等功能更为强大。 生成对象以后我们来看一下这个结构 由于我们的测试case不涉及嵌套类型的查询因此无法看到嵌套类型具体值的设置过程后面会补一篇关于嵌套类型的博客单独进行分析。 4.3一般情况下 autoMappingBehavior默认值为PARTIAL对未明确指定映射规则的字段进行自动映射 由于我们是使用最简单的类型进行查询的所以我们会把select语句中查询的字段进行自动映射。简单点说就是默认查询的字段 和  表中的字段名是一模一样的这届根据当前的查询字段进行设置值就ok了。 而值的查询就是和传统的JDBC代码一样从ResultSet中获取并设置到目标对象中的 可能有人会说怎么是把值设置到了metaObject元数据中了呢 其实元数据中之前提过了是会生成BeanWrapper对象的这就是一个Bean对象。我们最终是通过反射设置到这个bean对象中的 4.4 映射resultMap中明确指定需要映射的列 这一章节是我们在xml文件中配置了ResultMap的映射关系按照映射关系进行设置值的逻辑与4.3雷同 4.5 如果没有一个映射成功的属性则根据returnInstanceForEmptyRow的配置返回null或者结果对象 这一步就没有什么好说的了, rowValue foundValues || configuration.isReturnInstanceForEmptyRow() ? rowValue : null; 5. 保存映射结果对象 其实大部分的映射都是放置在 resultHandler  和  resultContext中的。 5.1  resultContext 计数作用 5.2 ResultHandler存储结果集 也就是说能够获取到ResultHandler对象就可以获取到封装好了的所有结果集了。 6. 主流程over 待我们获取到ResultHandler对象以后就可以从ResultHandler对象中获取到所有的结果集并放入名称为multipleResults的List中。 然后就是一路返回List到Executor组件中 接着返回因为我们查询调用的是SqlSession中的 selectOne 方法所有只会返回1条数据。 而调用的入口方法在此处 至此全部调用完毕返回到我们自己写的业务代码处。
http://www.hkea.cn/news/14552685/

相关文章:

  • 三站合一网站营销安卓app开发需要学什么
  • 国家重大建设项目库网站注册网站后台 添加用户
  • 天津建设网投标网站南通小企业网站建设
  • 苏州网站建设哪个比较牛东丰在线网站建设
  • 海北高端网站建设价格网站建设开发费入什么科目
  • -邵阳网络公司-邵阳网站建设|邵阳网站制作网站优化和网站推广
  • frontpage新建网站宽屏网站设计
  • 济南市住房与城乡建设厅网站工程项目管理系统
  • 四川和住房城乡建设厅网站首页成都品牌设计公司
  • 免费自创网站网站备案后应该做什么
  • 长沙商业网站建设顺义专业建站公司
  • 兰州网站关键词优化王占山将军简介
  • 做淘宝联盟必须要有网站吗网络设计公司有哪些
  • 网站开发行业发展前景卖服务器网站源码
  • 村网站建设计划书wordpress英文企业网站模板
  • python做网站比php好建设网站策划书
  • 网站建设是平面设计吗建设网站的分析报告
  • 网站改版301设置外贸退税流程及方法
  • 小型网站建设需要多少钱wordpress oauth2插件
  • 建设银行网站入口宁波应用多的建站行业
  • 公司网站建设调研背景淘宝网站都是怎么做的吗
  • 网站建设的意义和作用可做笔记的阅读网站
  • 易申建设网站自学网站建设与网页设计
  • 建设项目工程信息seo数据优化教程
  • 中企做网站怎么创建微信公众号写文章
  • 自己做的网站根目录哪里找到wordpress首页聚合
  • 什么网站可以免费做视频的软件215专业品牌网站建设
  • 企业网站建设训搭建购物商城
  • 网站建设与管理规定怎么做网站流量赚钱吗
  • 企业首页网站属于什么类型网站龙岩网站设计找哪家好