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

微商的自己做网站叫什么软件下载怎么注册一个网站

微商的自己做网站叫什么软件下载,怎么注册一个网站,wordpress3.9.1中文,泰兴做网站的公司mybatis延迟加载 1、延迟加载概述 应用场景 ​ 如果查询订单并且关联查询用户信息。如果先查询订单信息即可满足要求,当我们需要查询用户信息时再查询用户信息。把对用户信息的按需去查询就是延迟加载。 延迟加载的好处 ​ 先从单表查询、需要时再从关联表去关联查…

mybatis延迟加载

1、延迟加载概述

  1. 应用场景

    ​ 如果查询订单并且关联查询用户信息。如果先查询订单信息即可满足要求,当我们需要查询用户信息时再查询用户信息。把对用户信息的按需去查询就是延迟加载。

  2. 延迟加载的好处

    ​ 先从单表查询、需要时再从关联表去关联查询,大大提高 数据库性能,因为查询单表要比关联查询多张表速度要快。

  3. 延迟加载的条件:

    1)resultMap可以实现高级映射(使用association、collection实现一对一及一对多映射),association、collection具备延迟加载功能。

    2)延迟加载是针对分步查询而言的

2、开启延迟加载

Mybatis的延迟加载功能默认是关闭的

需要在mybatis-config.xml全局配置文件中通过setting标签配置来开启延迟加载功能

需要在mybatis-config.xml全局配置文件中通过setting标签配置来开启延迟加载功能开启延迟加载的属性:

lazyLoadingEnabled:全局性设置懒加载。默认为false,true表示开启延迟加载
aggressiveLazyLoading:false表示关闭积极加载
说明:这两个属性必须一起设置

【示例】

<settings><!--开启延迟加载--><setting name="lazyLoadingEnabled" value="true"/><!--关闭积极加载--><setting name="aggressiveLazyLoading" value="false"/></settings>

3、延迟加载测试

延迟加载需求:通过订单编号20140921003查询order并延迟加载user。就是演示上述演示过的一对一的表关系案例。

如果通过订单编号查询order并且查询user信息,在正常情况下的查询语句应该是:

在这里插入图片描述

分析:

如果改成延迟加载,也就意味着,先查询order,等需要的时候再去查询user,那就相当于将上面的一条语句变成了两条语句:

1、通过订单编号查询order

在这里插入图片描述

2、通过查询出来的order中的user_id查询user

在这里插入图片描述

sql语句:

分步查询:#第一步:根据order_number查询订单信息;SELECT * FROM tb_order WHERE order_number = '20140921003';#第二步:根据订单信息中的user_id查询出下单人的信息;SELECT * FROM tb_user WHERE id = 1;
第一步:编写接口方法

在OrderMapper接口中新建:queryOrderUserLazy方法

    /*** 根据orderNumber懒加载查询订单及用户信息* @param orderNumber* @return*/Order queryOrderUserLazy(@Param("orderNumber") String orderNumber);
第二步:编写SQL

【OrderMapper.xml】

 <!--懒加载结果集--><resultMap id="orderUserLazyResultMap" type="Order"><id property="id" column="id"/><!--1.column属性:延迟加载的sql语句中所需的参数,就是SELECT * FROM tb_user WHERE id = ?;该sql语句的?位置。这里书写 user_id因为执行  SELECT * FROM tb_order WHERE order_number = #{orderNumber} 语句查询的用户id对应的列名就是user_id2.select属性:调用指定sql语句来执行延迟加载,就是指定sql语句所在的位置,根据用户id查询用户信息位于UserMapper.xml文件中,具体地址是:namespace.id3.执行流程:先执行SELECT * FROM tb_order WHERE order_number = #{orderNumber} 根据订单号获取订单信息(包括用户id)然后根据 select="com.itheima.sh.dao.UserMapper.selectById" 找到UserMapper.xml文件中的:<select id="selectById" resultType="User">select * from tb_user where id = #{id}</select>并将column="user_id" 对应的列值传递过去并将查询的结果封装到User对象中,最后将User对象封装到Order对象中--><association property="user" javaType="User" column="user_id"  select="com.itheima.sh.dao.UserMapper.selectById"></association></resultMap><select id="queryOrderUserLazy" resultMap="orderUserLazyResultMap">SELECT * FROM tb_order WHERE order_number = #{orderNumber}</select>

【UserMapper.xml】

<mapper namespace="com.itheima.sh.dao.UserMapper"><!--查询语句id: 接口中方法的名字resultType:返回的实体类的类型,类全名--><select id="selectById" resultType="User">select * from tb_user where id = #{id}</select></mapper>

说明:

 1.column属性:延迟加载的sql语句中所需的参数,就是SELECT * FROM tb_user WHERE id = ?;该sql语句的?位置。这里书写 user_id因为执行  SELECT * FROM tb_order WHERE order_number = #{orderNumber} 语句查询的用户id对应的列名就是user_id2.select属性:调用指定sql语句来执行延迟加载,就是指定sql语句所在的位置,根据用户id查询用户信息位于UserMapper.xml文件中,具体地址是:namespace.id3.执行流程:先执行SELECT * FROM tb_order WHERE order_number = #{orderNumber} 根据订单号获取订单信息(包括用户id)然后根据 select="com.itheima.sh.dao.UserMapper.selectById" 找到UserMapper.xml文件中的:<select id="selectById" resultType="User">select * from tb_user where id = #{id}</select>并将column="user_id" 对应的列值传递过去并将查询的结果封装到User对象中,最后将User对象封装到Order对象中

【注意】

  1. 懒加载首先是把SQL拆分;
  2. 然后在resultMap中,通过关联映射配置中的,select属性引入需要懒加载进来的对象;
第三步:开启懒加载

在mybatis-config.xml全局配置文件中,开启懒加载

在这里插入图片描述

    <!--settings属性配置--><settings><!--开启延迟加载--><setting name="lazyLoadingEnabled" value="true"/><!--关闭积极加载--><setting name="aggressiveLazyLoading" value="false"/></settings>
第四步:测试

【没有访问关联对象】

在没有访问关联对象的属性时,只发送了一条SQL。

在这里插入图片描述

【访问关联对象的属性】

在这里插入图片描述

访问关联对象属性时,发送了两条SQL语句。按需查询-----懒加载!

http://www.hrbkazy.com/news/34840.html

相关文章:

  • 广州网站建设哪家强杭州网站seo优化
  • 网站首页二级下拉框怎么做百度统计收费吗
  • 博物馆网站 建设方案上海专业seo
  • 大企业网站制作及维护360站长平台
  • 韩都衣舍网站建设方案百度识图网站
  • 网站群发软文软件故事式的软文广告例子
  • tk网站域名百度服务中心官网
  • 网站首选域301如何做网站模板中心
  • 响应式网站断点全国免费信息发布平台
  • 浙江华企做网站商品关键词举例
  • 承德名城建设集团网站免费制作网页平台
  • 什么软件可以做app软件搜外网 seo教程
  • 一站式做网站技术百度搜索智能精选入口
  • 12355智慧团建36优化大师下载安装
  • 网站的后台登录注册怎么做新闻头条最新
  • 网站建设的步骤及方法百度手机助手app下载官网
  • 南宁网站建公司吗刷排名seo
  • 移动网站模板下载长沙网站推广工具
  • 免费空间域名可以做淘宝客网站推广吗5188关键词挖掘工具
  • 中国电信网站备案管理系统百度搜索如何去广告
  • 为什么我的网站做不起来燕郊今日头条
  • 西昌网站建设网站模板商城
  • 企业网站建设兴田德润怎么联系网站怎么制作教程
  • 专业网站建设费用广告营销的经典案例
  • 如何做网站建设业务员网站服务器
  • 深圳找做网站网络推广与网络营销的区别
  • 济南专业网站制作优化关键词排名公司
  • 网站建设员工分工网站建设步骤流程详细介绍
  • 创意设计公司架构天津seo外包
  • 直播网站开发费用学电商出来一般干什么工作