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

微信网站开发 js框架wordpress支付宝红包

微信网站开发 js框架,wordpress支付宝红包,114百事通做网站600,做公众号网站有哪些目录#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.dnsts.com.cn/news/187617.html

相关文章:

  • 网站建设制作优化如何做好专业类网站
  • 东莞建设网站的位置网站建设行业怎么样
  • dw网站制作效果怎么做asp代码如何修改asp网站网页域名名称
  • 保定网站建设浩森宇特wordpress短代码返回html
  • 怎么给网站做百度优化无锡开发公司
  • 网站制作风格类型做资源网站需要什么软件
  • 如何建手机销售网站房产网上查询系统
  • 网站建设的主要工作内容中国小康建设网 官方网站
  • 通辽做网站哪家好千博企业网站管理系统
  • 企业电话认证昆山seo网站优化软件
  • 网站建设方案备案加强二级网站建设 招生
  • 网站备案需要营业执照吗大良网站智能推广价格
  • 电子书网站 自己做加强网站建设的制度
  • 请简要描述如何进行网站设计规划承德网络推广公司
  • 专做专业课视频的网站网站建设为什么不清晰
  • 梅州网站优化通辽市工程建设网站
  • 怎么做直播网站超管东莞 网站 建设 雕塑
  • 中国核工业二四建设有限公司实习安排在公司官方网站哪里看?做淘客网站用什么上传文件
  • 网页游戏网站火西湖区外贸网站建设
  • 石林网站建设百度竞价托管一月多少钱
  • ipv6网站制作wordpress添加按钮
  • 网站开发vue成品网站软件
  • 诛仙3官方网站做花灯答案wordpress 在线手册
  • 心悦俱乐部官方网站怎么做任务做高端网站公司哪家好
  • 网站建设公司的性质做网站如何调字体格式
  • 企业做网站公司昆明网站定制
  • 建设举报网站芮城网站开发
  • 网站织梦后台怎么做建立一个app要多少钱
  • 营销型网站可以吗android手机开发
  • 怎么做视频网站免费制作企业微商城