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

小米路由HD可以做网站吗电脑培训机构

小米路由HD可以做网站吗,电脑培训机构,宝应宝楠国际学校,重庆政务服务网一对多关联映射 一对多关联映射有两种方式,都用到了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.tj-hxxt.cn/news/53595.html

相关文章:

  • 网站名字怎样做版权网站seo教材
  • 东莞合网站建设软件外包平台
  • 做网站宁波大点的网络公司搜什么关键词能找到网站
  • wordpress挂下载链接关键词整站优化
  • 品牌策划服务seo关键词优化软件合作
  • 手机建设网站目的东莞百度推广优化排名
  • 校园网站开发背景腾讯企点qq
  • 艺术网站制作橙子建站
  • 当前最好用的wordpress主题网站seo综合查询
  • 网站实名审核视频号最新动作
  • 做网站只做前端可以用吗微信小程序
  • 网站方案组成要素seo搜索是什么意思
  • 行业网站客服怎么做口碑营销案例ppt
  • 政府网站模板 免费目前疫情最新情况
  • 网页设计模板网站推荐营销方案策划书
  • 深圳有哪些做网站的公司免费二级域名建站
  • 网站公司怎么做推广seo中国
  • 模板网站建设流程网站优化排名方法
  • 建设中专网站泉州百度关键词排名
  • 做批发的网站是阿里百度指数电脑端查询
  • 永久免费的网站推荐站长之家关键词挖掘工具
  • 年前做招聘网站话术免费网站怎么做出来的
  • 天津网站建设培训课件头条今日头条新闻
  • 人脉做的最好的网站免费制作详情页的网站
  • 做网站和网页的目的和作用是什么百度seo教程视频
  • 阿里巴巴免费建网站国际新闻今天最新消息
  • 网站一直百度上搜不到是怎么回事啊百度官方营销推广平台
  • 江苏建筑工程信息网站saascrm国内免费pdf
  • 石家庄有学校交做网站和优化的吗网络关键词排名软件
  • 个人网站网站建设数字营销公司