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

中山做网站的公司哪家好品牌网络推广怎么做

中山做网站的公司哪家好,品牌网络推广怎么做,wordpress设置页面透明度,如何做动态网站Mybatis 面试 1、Mybatis 的执行流程是什么? 1、读取MyBatis配置文件:mybatis-config.xml 加载运行环境 和 映射文件 2、构造会话工厂 SqlSessionFactory (全局只有一个) 3、会话工厂创建SqlSession对象(项目与数据…

Mybatis 面试

1、Mybatis 的执行流程是什么?

1、读取MyBatis配置文件:mybatis-config.xml 加载运行环境 和 映射文件

2、构造会话工厂 SqlSessionFactory (全局只有一个)

3、会话工厂创建SqlSession对象(项目与数据库的会话,包含了执行SQL 语句的所有方法,每次操作都会创建一个会话)

4、操作数据库接口,Executor 执行器,同时负责查询缓存的维护

5、Executor 接口的执行方法中有一个 MappedStatement 类型的参数,封装了映射信息

6、输入参数映射,将 Java 的对象转化为数据库所支持的类型

7、输出映射结果,再将执行后数据库的类型转化为 Java 类型

2、Mybatis 是否支持延迟加载?

Mybatis 支持延迟加载,但默认没用开启;

(局部的延迟加载)Mybatis 支持 一对一关联对象 和 一对多关联集合对象的延迟加载(加 fetchType=“lazy”)

(全局的延迟加载)可以 在Mybatis 配置文件中,可以配置是否启用延迟加载 lazyLoadingEnabled=true|false

  • 什么是延迟加载?

假设 有一个 User 实体类 ,其里面封装了关于订单的 List 属性,当查询用户时,将订单数据也查出来,此时为立即加载;若查询用户时,暂时不查询订单数据,当只有需要查询List的时候进行查询,此时为延迟加载

  • 延迟加载的原理

1、使用CGLIB 创建目标对象的代理对象

2、当调用目标方法 user.getOrderList() 时,进入拦截器invoke 方法,发现 user.getOrderList() 是 null 值,执行 sql 查询 order表

3、将order查询出来,进行封装返回

3、Mybatis 的一级、二级缓存

本地缓存,基于PerpetualCache,本质是一个HashMap

  • 一级缓存:

基于 PerpetualCache 的 HashMap 本地缓存,其存储作用域为 Session(sqlSession),当Session进行flush或close之该Session中的所有Cache就将清空,默认打开一级缓存。

当两次查询相同时(同一个sqlSession),只会执行一次 SQL ,第一次查询后会将数据放入本地缓存中,第二次查询时,直接从缓存中得到数据。

  • 二级缓存:

作用域是namespace和mapper的作用域,不依赖于session,默认采用 PerpetualCache 的 HashMap 存储,默认时关闭二级缓存的。

开启二级缓存 在Mybatis 配置文件中 开启二级缓存 cacheEnable=true|false,并在映射文件中加 <cache/>标签 ,这时就开启了二级缓存。

当开启二级缓存时,两次查询条件相同时,但调用不同的sqlSession,只会执行一次 SQL 。

注意事项:
1,对于缓存数据更新机制,当某一个作用域(一级缓存 Session/二级缓存Namespaces)的进行了新增、修改、删除操作后,默认该作用域下所有 select 中的缓存将被 clear。

2,二级缓存需要缓存的数据实现Serializable接口。

3,只有会话提交或者关闭以后,一级缓存中的数据才会转移到二级缓存中

4、Mybaits $ 和 # 的区别?

#{ }可以防止Sql 注入,它会将所有传入的参数作为一个字符串来处理。

Mybatis在处理#{}时,会将SQL语句中的#{}替换为?号,调用PrepaerdStatement的set方法来赋值。

$ {} 则将传入的参数拼接到Sql上去执行,一般用于表名和字段名参数,$ 所对应的参数应该由服务器端提供,前端可以用参数进行选择,避免 Sql 注入的风险 。

Mybatis在处理 时,就是把 {}时,就是把 时,就是把{}换成变量的值。

http://www.zhongyajixie.com/news/6521.html

相关文章:

  • 凡科建站可以多人协作编辑吗网站统计器
  • 网站做seo 反应非常慢北京网络推广公司排行
  • 做设计用图片的网站百度app营销软件
  • php投票网站企业邮箱注册
  • 用dw做网站怎么做出下拉菜单小程序免费制作平台
  • ppt背景图免费宣城网站seo
  • 如何做网站挣钱黄金网站app视频播放画质选择
  • 网站做端口是什么整站优化全网营销
  • 自己建的网站搜不到整站优化加盟
  • 做阿里云网站空间河北seo基础入门教程
  • 做京东网站采购的工作内容百度推广服务费一年多少钱
  • 网站域名怎么购买网络营销推广合同
  • 软件公司做网站推广科目太原seo霸屏
  • 微网站用什么软件做网站推广优化怎样
  • python做网站功能测试百度广告联盟怎么赚钱
  • 长沙高端网站制作公司网页开发用什么软件
  • css网页设计用什么软件重庆旅游seo整站优化
  • vps lnmp wordpress百度快速seo优化
  • 北京做网站比较好的公司营销策略怎么写范文
  • 萨龙wordpressseo服务外包客服
  • 常州企业网站建设价格seo优化在哪里学
  • 静态展示网站模板推广竞价的公司有哪些
  • 遵义市建设局网站seo快速收录快速排名
  • 如何在局域网内做网站广告行业怎么找客户
  • 网站开发中背景图片怎么弄全屏公司网站域名怎么注册
  • 网站导航条和表格怎么做企业培训课程设置
  • 大学生如何建立网站查域名ip地址查询
  • 招商团队外包seo百度贴吧
  • 网站怎么做跟踪链接百度问答我要提问
  • 衢州做网站多少钱网站是怎么做的