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

暴雪游戏有哪些网站优化方式有哪些

暴雪游戏有哪些,网站优化方式有哪些,湖北移动网站建设,喀喇沁旗网站建设公司一对多关联映射 一对多关联映射有两种方式,都用到了collection元素 以购物网站中用户和订单之间的一对多关系为例 collection集合的嵌套结果映射 创建两个实体类和映射接口 package org.example.demo;import lombok.Data;import java.util.List;Data public cla…

一对多关联映射

一对多关联映射有两种方式,都用到了collection元素

以购物网站中用户和订单之间的一对多关系为例

collection集合的嵌套结果映射

创建两个实体类和映射接口

package org.example.demo;import lombok.Data;import java.util.List;@Data
public class User {private Integer userId;private String userName;private String password;private Cart cart;private List<Order> orderList;
}
package org.example.demo;import lombok.Data;@Data
public class Order {private Integer orderId;private double price;
}

实现根据用户id查询出所有用户信息,包括该用户的所有订单信息 

package org.example.mapper;import org.example.demo.User;import java.util.List;public interface UserMapper {User findUserAndOrderListByUserId(Integer userId);
}
方式一:与association类似,集合的嵌套结果映射就是指通过一次SQL查询得到所有的结果 
<resultMap type="com.mybatis.entity.User" id="userMap"><id property="id" column="id"/><result property="userName" column="user_name"/><result property="password" column="password"/>
</resultMap>
<resultMap type="com.mybatis.entity.User" id="userAndOrderListMap" extends="userMap"><collection property="orderList" ofType="com.mybatis.entity.Order"><id property="id" column="order_id"/><result property="price" column="price"/></collection>
</resultMap>
<select id="findUserAndOrderListById" resultMap="userAndOrderListMap">select u.id, u.user_name, u.password,o.order_id, o.pricefrom user uleft join orders o on u.id = o.user_idwhere u.id = #{id}
</select>

resultMap元素中的extends属性可以实现结果映射的继承

collection的ofType属性指定集合中元素的类型,必选项 

    <resultMap id="userAndOrderMap" type="org.example.demo.User"><id property="userId" column="user_id"/><result property="userName" column="user_name"/><result property="password" column="password"/><collection property="orderList" ofType="org.example.demo.Order"><id property="orderId" column="order_id"/><result property="price" column="price"/></collection></resultMap><select id="findUserAndOrderListByUserId" resultMap="userAndOrderMap">select*from t_user uleft join t_order o on u.user_id = o.user_idwhere u.user_id = #{userId};</select>

 

collection集合的嵌套查询

集合的嵌套查询同样会执行额外的SQL查询

<resultMap type="com.mybatis.entity.User"id="userAndOrderListMap" extends="userMap"><collection property="orderList" column="{uid=id}"ofType="com.mybatis.entity.Order"       select="com.mybatis.mapper.OrderMapper.findOrdersByUserId"></collection>
</resultMap>
<select id="findUserAndOrderListById" resultMap="userAndOrderListMap">select * from user where id = #{id}
</select>

OrderMapper.xml

<resultMap type="com.mybatis.entity.Order"id="orderMap"><id property="id" column="order_id"/><result property="price" column="price"/>
</resultMap>
<select id="findOrdersByUserId"resultMap="orderMap">select * from orders where user_id = #{uid}
</select>

对比两种方式

第一种方式属于“关联的嵌套结果映射“,即通过一次SQL查询根据表或指定的属性映射到不同的对象中

第二种方式属于“关联的嵌套查询”,利用简单的SQL语句,通过多次查询得到想要的结果,也可以实现延迟加载效果 

 

 

http://www.yayakq.cn/news/230537/

相关文章:

  • 市局网站建设建议提升学历励志语录
  • 网站设计品五金企业网站模板
  • 网站认证收费大连网页设计公司排名
  • 网站手机版东莞最好的网站
  • 阳谷网站建设价格山东电商网站建设
  • 云南城乡建设网站关键词完整版
  • 那些网站被k恢复是怎么做的鲜花网站建设的项目介绍
  • 网站和微信 微网站解决方案广告营销
  • 微芒科技网站建设top北京网讯百度科技有限公司
  • 网站引导页模板瑞安论坛
  • 东莞品牌网站设计吉安网站建设公司
  • 泉州网站平台建设公司王磊网络网站建设
  • 网站建设基础摘要如何将数据库导入网站
  • 深圳建设网站龙岗网站建设宣传的网站开发需要多少钱
  • 兰州网站推广排名wordpress淘宝发货插件
  • word可以做网页吗m郑州网站优化公司哪家好
  • 西宁城东区建设局公租房网站网站维护更新费用
  • 网站建设维护和网页设计江都建设总部网站
  • 教育模板网站建设如何制作淘客导购网站
  • 天津做网站报价做网站开发教程
  • 33岁改行做网站建设谷歌seo网站推广怎么做优化
  • 乡镇网站建设中的问题近期十大热点事件
  • 网站建设与维护难不难李沧做网站公司
  • 平谷青岛网站建设网站设计流程详细步骤
  • 着力规范网站集约化建设静态网站结构如何更新
  • 5a景区网站建设沧州网站建设联系电话
  • 白酒网站设计网站开发教程百度云
  • 企业网站源码千博畜牧养殖企业网站源码
  • 外卖优惠券网站怎么做自己做app的网站
  • 网店的网站设计方案淘大象关键词排名查询