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

肥西上派网站开发网站续费如何做分录

肥西上派网站开发,网站续费如何做分录,wordpress分享插件国内,糕点网站策划书目录#xff1a; 第一题. MyBatis的框架架构设计是怎么样的?第二题. 为什么需要预编译?第三题. Mybatis都有哪些Executor执行器#xff1f;它们之间的区别是什么#xff1f;第四题. Mybatis中如何指定使用哪一种Executor执行器#xff1f;第五题. Mybatis是否支持延迟加载… 目录 第一题. MyBatis的框架架构设计是怎么样的?第二题. 为什么需要预编译?第三题. Mybatis都有哪些Executor执行器它们之间的区别是什么第四题. Mybatis中如何指定使用哪一种Executor执行器第五题. Mybatis是否支持延迟加载如果支持它的实现原理是什么 第一题. MyBatis的框架架构设计是怎么样的? 这张图从上往下看。MyBatis的初始化会从mybatis-config.xml配置文件解析构造成Configuration这个类就是图中的红框。 (1)加载配置配置来源于两个地方一处是配置文件一处是Java代码的注解将SQL的配置信息加载成为一个个MappedStatement对象包括了传入参数映射配置、执行的SQL语句、结果映射配置存储在内存中。 (2)SQL解析当API接口层接收到调用请求时会接收到传入SQL的ID和传入对象可以是Map、JavaBean或者基本数据类型Mybatis会根据SQL的ID找到对应的MappedStatement然后根据传入参数对象对MappedStatement进行解析解析后可以得到最终要执行的SQL语句和参数。 (3)SQL执行将最终得到的SQL和参数拿到数据库进行执行得到操作数据库的结果。 (4)结果映射将操作数据库的结果按照映射的配置进行转换可以转换成HashMap、JavaBean或者基本数据类型并将最终结果返回。 第二题. 为什么需要预编译? 定义 SQL 预编译指的是数据库驱动在发送 SQL 语句和参数给 DBMS 之前对 SQL 语句进行编译这样 DBMS 执行 SQL 时就不需要重新编译。为什么需要预编译 JDBC 中使用对象 PreparedStatement 来抽象预编译语句使用预编译。预编译阶段可以优化 SQL 的执行。预编译之后的 SQL 多数情况下可以直接执行DBMS 不需要再次编译越复杂的SQL编译的复杂度将越大预编译阶段可以合并多次操作为一个操作。同时预编译语句对象可以重复利用。把一个 SQL 预编译后产生的 PreparedStatement 对象缓存下来下次对于同一个SQL可以直接使用这个缓存的 PreparedState 对象。Mybatis默认情况下将对所有的 SQL进行预编译。 第三题. Mybatis都有哪些Executor执行器它们之间的区别是什么 Mybatis有三种基本的Executor执行器SimpleExecutor、ReuseExecutor、BatchExecutor。 SimpleExecutor每执行一次update或select就开启一个Statement对象用完立刻关闭Statement对象。 ReuseExecutor执行update或select以sql作为key查找Statement对象存在就使用不存在就创建用完后不关闭Statement对象而是放置于Map内供下一次使用。简言之就是重复使用Statement对象。 BatchExecutor执行update没有selectJDBC批处理不支持select将所有sql都添加到批处理中addBatch()等待统一执行executeBatch()它缓存了多个Statement对象每个Statement对象都是addBatch()完毕后等待逐一执行executeBatch()批处理。与JDBC批处理相同。 作用范围Executor的这些特点都严格限制在SqlSession生命周期范围内。 第四题. Mybatis中如何指定使用哪一种Executor执行器 在Mybatis配置文件中在设置settings可以指定默认的ExecutorType执行器类型也可以手动给DefaultSqlSessionFactory的创建SqlSession的方法传递ExecutorType类型参数如SqlSession openSession(ExecutorTypeexecType)。 配置默认的执行器。SIMPLE 就是普通的执行器REUSE 执行器会重用预处理语 句prepared statements BATCH 执行器将重用语句并执行批量更新。 第五题. Mybatis是否支持延迟加载如果支持它的实现原理是什么 Mybatis仅支持association关联对象和collection关联集合对象的延迟加载association指的就是一对一collection指的就是一对多查询。在Mybatis配置文件中可以配置是否启用延迟加载lazyLoadingEnabledtrue|false。它的原理是使用CGLIB创建目标对象的代理对象当调用目标方法时进入拦截器方法比如调用a.getB().getName()拦截器invoke()方法发现a.getB()是null值那么就会单独发送事先保存好的查询关联B对象的sql把B查询上来然后调用a.setB(b)于是a的对象b属性就有值了接着完成a.getB().getName()方法的调用。这就是延迟加载的基本原理。 当然了不光是Mybatis几乎所有的包括Hibernate支持延迟加载的原理都是 一样的 如果我的内容对你有帮助请点赞评论收藏。创作不易大家的支持就是我坚持下去的动力
http://www.hkea.cn/news/14493911/

相关文章:

  • 网站建设教程答允苏州久远网络怎么开网店流程
  • 北京服饰电商网站建设工程项目管理软件排名
  • 做网站公司工资南京做网站的网络公司
  • 重庆网站网页设计培训机构北京网站建设公司如何排版
  • 网站域名注册商标有什么好处深圳动力网站设计公司
  • 微信卖水果链接网站怎么做漂亮的数据型网站
  • 周宁县建设局网站代理服务器地址怎么找
  • 网站建设定制价格明细表网页魔域
  • 代发网站建设临沂网站建设方案服务
  • 哈尔滨网站制作网页企业网站建设存在的典型问题有哪些?
  • 做网站放广告赚钱游戏小程序开发报价
  • 新闻发布会名词解释优化大师怎么样
  • 湖北省建设部网站公告做网站花多钱
  • 做推广网站需要商标吗杭州十大互联网公司
  • 余杭建设局网站教程网
  • 免费宣传网站网站建设网站备案所需资料
  • 网站建设须知四川大学网站seo诊断报告
  • 仿历史网站模板中山网站建设文化方案
  • 网站设计中下拉列表怎么做wordpress轮播图能换吗
  • 有没有做卡商的网站使用免费建站
  • 百度统计网站概况成都工程设计公司
  • 建设网站招聘厂房网络推广平台
  • tklink的登录做网站公司起名大全文库
  • 企业网站公告怎么做如何做网站页面赚钱
  • 一个网站可以有几个域名怎么样做美术招生信息网站
  • 网站文件夹怎么做旅游网站的网页设计参考文献
  • 制作网站需要怎么做外贸wordpress建站
  • 网站如何制作 优帮云互联网品牌宣传推广服务公司
  • 个性化网站设计网站建设需要平台
  • 设计培训网站建设河南手机网站建设价格明细表