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

建网站昆明网站推广公司成功的经典案例

建网站昆明,网站推广公司成功的经典案例,asp.net 网站 方案,二级目录做网站文章目录 MyBatis中延迟加载#xff0c;全局和局部的开启使用与关闭1、问题提出2、延迟加载和立即加载延迟加载立即加载 3、三种对应的表关系中的加载4、打开全局延迟加载#xff08;实现一对一的延迟加载#xff09;5、实现一对多的延迟加载#xff08;将上面设置的全局延… 文章目录 MyBatis中延迟加载全局和局部的开启使用与关闭1、问题提出2、延迟加载和立即加载延迟加载立即加载 3、三种对应的表关系中的加载4、打开全局延迟加载实现一对一的延迟加载5、实现一对多的延迟加载将上面设置的全局延迟加载给注释掉编写UserMapper.xml在UserMapper.xml中添加select查询语句在UserMapper.java中添加属性编写测试类延迟加载运行结果如下 6、测试一对多的延迟加载对比观察输出结果将测试类中的另一个想要获得的信息给注释掉如下运行结果如下 结论对比两种运行结果可以得到延迟加载的使用意义需要获得什么信息再去执行相应的sql语句如果不需要获得的信息则不会进行加载 MyBatis中延迟加载全局和局部的开启使用与关闭 1、问题提出 在之前的文章一对多中当我们有一个用户他又一百个账户。 1在查询用户时要不要把关联的账户信息查询出来 2在查询账户时要不要把关联的用户信息查询出来 对于第一个问题我们应该是什么时候需要查询账户信息才查询。没必要每次查询用户信息都把账户信息也查询出来。因为如果每次都查询出账户信息对我们的内存开销是很大的而且每次查询也都不一定用到账户信息。 对于第二个问题我们就可以在查询账户信息的时候查询出关联的用户信息因为我们如果只是单纯的账户信息没有说明用户是谁这对于我们来说是不友好的。也没什么意义所以在每次查询账户信息的时候都要显示出关联的用户信息。 2、延迟加载和立即加载 第一个问题其实就是延迟加载。 第二个问题就是立即加载。 延迟加载 在真正的使用数据时才发起查询不用的时候不查。按需加载懒加载。 立即加载 不管用不用只要一调用方法马上发起查询。 3、三种对应的表关系中的加载 四种表 关系一对一一对多多对多。 一对多、多对多通常情况下我们都是采用延迟加载。 多对一、一对一通常情况下我们都是采用立即加载。 4、打开全局延迟加载实现一对一的延迟加载 这里的项目结构和mybatis关联查询里面的大部分内容是一样的我们只需要更改一些配置信息。 更改mybatis-config.xml中的信息 在这里添加两条setting标签配置信息。根据mybatis的文档 需要设置这两个属性。才能开启延迟加载。 settings!-- 打开全局延迟加载的开关 --setting namelazyLoadingEnabled valuetrue/setting nameaggressiveLazyLoading valuefalse/ /settings?xml version1.0 encodingUTF-8? !DOCTYPE configuration PUBLIC -//mybatis.org//DTD Config 3.0//ENhttp://mybatis.org/dtd/mybatis-3-config.dtd configuration!-- 配置延迟加载策略 --settings!-- 打开全局延迟加载的开关 --setting namelazyLoadingEnabled valuetrue/setting nameaggressiveLazyLoading valuefalse//settingstypeAliasespackage namecn.fpl1116.pojo//typeAliases!--使用dev环境--environments defaultdevenvironment iddev!--事务--transactionManager typeJDBC/transactionManager!--typePOOLED连接池--dataSource typePOOLEDproperty namedriver valuecom.mysql.jdbc.Driver/property nameurl valuejdbc:mysql://127.0.0.1:3306/mybatis?characterEncodingUTF-8/property nameusername valueroot/property namepassword value//dataSource/environment/environments!--加载mapper映射文件--mapperspackage namecn.fpl1116.mapper//mappers /configuration5、实现一对多的延迟加载将上面设置的全局延迟加载给注释掉 编写UserMapper.xml ?xml version1.0 encodingUTF-8? !DOCTYPE mapper PUBLIC -//mybatis.org//DTD Mapper 3.0//ENhttp://mybatis.org/dtd/mybatis-3-mapper.dtdmapper namespacecn.fpl1116.mapper.UserMapperresultMap idgetUserById2Result typecn.fpl1116.pojo.Userid columnid propertyid/idresult columnusername propertyusername/result columnaddress propertyaddress/result columnsex propertysex/result columnbirthday propertybirthday/!--延迟加载的一对多--!--propertyaccountList属性名ofTypecom.by.pojo.Account集合的泛型等价于resultTypeselectcom.by.mapper.AccountMapper.selectAccountByUid要调用的select标签的idcolumnid传递给select查询的参数fetchTypelazy局部开启懒加载--collection propertyaccountListofTypecn.fpl1116.pojo.Accountselectcn.fpl1116.mapper.AccountMapper.selectAccountByUidcolumnidfetchTypelazy/collection/resultMapselect idgetUserById2 parameterTypeint resultMapgetUserById2Result!-- SELECT u.*, a.id aid, a.uid uid, a.money money FROM user u LEFT JOIN account a ON u.ida.uid WHERE u.id#{id}--select * from user where id#{id}/select /mapper在UserMapper.xml中添加select查询语句 select idselectAccountByUid parameterTypeint resultTypecn.fpl1116.pojo.AccountSELECT * FROM account WHERE uid#{uid}/select在UserMapper.java中添加属性 User getUserById2(Integer id);编写测试类 Testpublic void testGetUserById2(){UserMapper userMapper sqlSession.getMapper(UserMapper.class);User user userMapper.getUserById2(41);System.out.println(user.getUsername());ListAccount accountList user.getAccountList();for (Account account : accountList) {System.out.println(account);}}延迟加载运行结果如下 6、测试一对多的延迟加载对比观察输出结果 将测试类中的另一个想要获得的信息给注释掉如下 Testpublic void testGetUserById2(){UserMapper userMapper sqlSession.getMapper(UserMapper.class);User user userMapper.getUserById2(41);System.out.println(user.getUsername());//ListAccount accountList user.getAccountList();//for (Account account : accountList) {// System.out.println(account);//}}运行结果如下 结论对比两种运行结果可以得到延迟加载的使用意义需要获得什么信息再去执行相应的sql语句如果不需要获得的信息则不会进行加载
http://www.hkea.cn/news/14524889/

相关文章:

  • 台州学校网站建设android小程序开发
  • 苏州网站建设营销推广深圳网络推广招聘
  • 网站建设技术服务的方式是什么下载ps软件免费版下载安装
  • 河南建设厅特种工报考网站先用ps后用dw做网站
  • 重庆住房和城乡建设厅网站宫免费网站
  • 网站建设动态实训报告菜鸟教程官网
  • 网站自适应代码app推广是什么工作
  • 新浪云sae免费wordpress网站8小8x人成免费观看网页
  • 安徽中擎建设公司网站搭建合作平台
  • 宁波专业做网站的公司哪家好cad培训班一般学费多少钱
  • 临沧网站建设临沧wordpress 不提示更新
  • 旅游网站管理系统php广州市重点公共建设项目官网
  • 网站怎样添加友情链接手机网站建设好吗
  • 网站代备案公司抽奖的网站怎么做
  • 包装设计接单网站wordpress 分类的地址
  • 广东智能网站建设哪家有速加网零件加工网
  • 专门做物业催收的网站横岗网站建设
  • 上海电商网站建设公司排名网站开发 精品课程
  • 内江网站建设0832hdsj做网站的钱付款用途写什么
  • 佛山市网站建站网站小工程承包信息网
  • 湖南省住房和城乡建设厅门户网站企业网站推广方案范例
  • 阿里巴巴国际站入驻费用及条件ui设计师培训班
  • 网站建设vps建设网站的价格表
  • 漯河做网站哪家好花桥网站建设公司
  • 沈阳网站设计推广做一套网站多钱
  • 石家庄有什么做网站的公司网站开发 功能不会写
  • 学网站建设软件开发潍坊网站建设联系方式
  • 网站开发在哪个科目核算做营销网站哪家好
  • 同仁行业网站建设报价wordpress迁移空间插件
  • 网站上添加百度地图阿里巴巴装修网站