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

花园设计网站推荐seo是如何优化

花园设计网站推荐,seo是如何优化,企业微信会话内容存档,钦州网站网站建设MyBatis中的延迟加载#xff0c;也称为懒加载#xff0c;是指在进行关联查询时#xff0c;按照设置延迟规则推迟对关联对象的select查询。延迟加载可以有效的减少数据库压力。 注意#xff1a;MyBatis的延迟加载只是对关联对象的查询有延迟设置#xff0c;对于主加载对象都…MyBatis中的延迟加载也称为懒加载是指在进行关联查询时按照设置延迟规则推迟对关联对象的select查询。延迟加载可以有效的减少数据库压力。 注意MyBatis的延迟加载只是对关联对象的查询有延迟设置对于主加载对象都是直接执行查询语句的。 一、关联对象加载时机 、关联对象加载时机 MyBatis根据对关联对象查询的select语句的执行时机分为三种类型直接加载、侵入式加载与深度延迟加载 直接加载执行完对主加载对象的select语句马上执行对关联对象的select查询。     侵入式延迟执行对主加载对象的查询时不会执行对关联对象的查询。但当要访问主加载对象的详情时就会马上执行关联对象的select查询。即对关联对象的查询执行侵入到了主加载对象的详情访问中。也可以这样理解将关联对象的详情侵入到了主加载对象的详情中即将关联对象的详情作为主加载对象的详情的一部分出现了。     深度延迟执行对主加载对象的查询时不会执行对关联对象的查询。访问主加载对象的详情时也不会执行关联对象的select查询。只有当真正访问关联对象的详情时才会执行对关联对象的select查询。 注意延迟加载的应用要求关联对象的查询与主加载对象的查询必须是分别进行的select语句不能是使用多表连接所进行的select查询。因为多表连接查询其实质是对一张表的查询对由多个表连接后形成的一张表的查询。会一次性将多张表的所有信息查询出来。 二、直接加载 1.主配置文件(Mybatis.xml) 全局属性lazyLoadingEnabled的值只要设置为false那么对于关联对象的查询将采用直接加载。即在查询过主加载对象后会马上查询关联对象。 lazyLoadingEnabled的默认值为false即直接加载。 settings!-- 延迟加载总开关 --setting namelazyLoadingEnabled valuefalse/ /settings2.mapper映射文件  mapper namespacecom.hcx.dao.IMinisterDaoselect idselectCountryById resultTypeCountryselect cid,cname from country where cid#{cid}/selectresultMap typeMinister idministerMapperid columnmid propertymid/result columnmname propertymname/association propertycountryjavaTypeCountryselectselectCountryByIdcolumncountryId//resultMapselect idselectMinisterById resultMapministerMapperselect mid,mname,countryId from minister where mid#{mid}/select /mapper3.测试类 当程序执行到断点处语句时不仅对country表进行了查询对minister表也同时进行了查询。 public class MyTest {private ICountryDao dao;private SqlSession session;Beforepublic void setUp(){session MyBatisUtils.getSqlSession();dao session.getMapper(ICountryDao.class);}Afterpublic void tearDown(){if(session!null){session.close();}}Testpublic void test01(){ Country country dao.selectCountryById(2);//此处加断点System.out.println(country);System.out.println(country.getMinisters().size());} }三、深度延迟加载 修改主配置文件的将延迟加载开关lazyLoadingEnabled开启置为true将侵入式延迟加载开关aggressiveLazyLoading关闭置为false。 settings!-- 延迟加载总开关 --setting namelazyLoadingEnabled valuetrue/!-- 侵入式延迟加载开关 --setting nameaggressiveLazyLoading valuefalse/ /settings此时只有当代码执行到输出Minister对象详情时底层才执行select语句对minister表进行查询。 四、侵入式延迟加载 修改主配置文件的将延迟加载开关lazyLoadingEnabled开启置为true将侵入式延迟加载开关aggressiveLazyLoading也开启置为true默认为true。 settings!-- 延迟加载总开关 --setting namelazyLoadingEnabled valuetrue/!-- 侵入式延迟加载开关 --setting nameaggressiveLazyLoading valuetrue/ /settings测试类 Test public void test01(){ Country country dao.selectCountryById(2);//此处加断点System.out.println(country);System.out.println(country.getMinisters().size()); }当代码执行断点处语句时会立即查询country表但每查询minister表。说明现在的延迟加载已经启动。 当对country对象的详情进行访问时对minister表也进行了查询。因为该延迟加载策略已经将主加载对象的关联属性也作为主加载对象的基本信息了而前面已经查询出了主加载对象的基本信息但其关联对象基本信息尚无。所以马上进行对minister表的查询。 换个角度来说该延迟策略使关联对象的数据侵入到了主加载对象的数据中所以称为侵入式延迟加载。 注意该延迟策略也是一种延迟加载需要在延迟加载开关lazyLoadingEnabled开启时才会起作用。若lazyLoadingEnabled为false则aggressiveLazyLoading无论取何值均不起作用。
http://www.pierceye.com/news/649868/

相关文章:

  • 如何做免费网站制作郑州网站建设搜索优化
  • 北京网站制作17页谈谈对seo的理解
  • 西安专业建网站网站可信度必须做吗
  • 做神马网站如何做网站的推广
  • 如何提高网站排名的方法建设一个商业网站费用
  • 电商网站平台有哪些做自己的第一个网站
  • 源码资源下载站百度指数 多少流量 网站名
  • 合肥比较好的网站建设公司青阳网站建设
  • 上海地产网站建设甘肃建设厅网站二级建造师报名时间
  • 扬州网站建设推广泊头网站建设甘肃
  • 什么行业要做网站建设推广这些水墨网站设计欣赏
  • 渠道网站wap百度
  • 在网站上如何做天气预报栏wordpress 分类列表
  • 做网站需要投资多少钱做网站的销售团队
  • 苏州哪个公司做门户网站seo优化方案报价
  • 电力建设官方网站做网站送优化
  • 门户网站建设模式包括网站群和中企动力企业邮箱登陆首页
  • 做调查网站的问卷哪个给的钱高wordpress邮箱注册功能
  • 上海php网站开发基于php网站建设
  • 大丰专业做网站做旅游网站当地人服务赚钱吗
  • 长沙网站制作公司推荐seo关键词排名优化
  • 内蒙古住房与城乡建设部网站广州十大软件公司排名
  • 营销型网站 易网拓德阳做网站
  • 网站建设seo虾哥网络购物网站技术实施方案
  • 门户网站框架下载陕西省建设工会网站
  • 网站有信心做的更好做外贸到什么网站上发布比较好
  • wex5做网站wordpress页面的设置
  • 绍兴市建设银行网站网站建设的基本术语
  • 建筑企业网站模板免费下载seo 网站换程序
  • wordpress怎么做排名seo怎么样