当前位置: 首页 > 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.dinnco.com/news/29593.html

相关文章:

  • 制作app的教程seo策略是什么意思
  • 英文网站建设口碑好百度收录查询入口
  • 营销型企业网站分公司做网页要多少钱
  • dede手机网站制作网络营销好找工作吗
  • 艺术学院网站模板360网站推广怎么做
  • 昆明企业建站程序seo百度贴吧
  • 工程建设网最新信息网站俄罗斯搜索引擎yandex推广入口
  • 做服装搭配图的网站有哪些查网站流量查询工具
  • wordpress 多网站吗今日热搜前十名
  • 作风建设年网站网站优化培训学校
  • 佛山信息科技有限公司合肥网站优化排名推广
  • 怎么做文化传媒公司网站张掖seo
  • 东昌府企业做网站推广北京seo排名厂家
  • 网站建设公司后端招聘要求搜索引擎优化包括哪些
  • 西宁建设厅人事局网站仓山区seo引擎优化软件
  • 洪泽区做网站备案查询站长之家
  • 网页制作站点怎样上百度做广告
  • 网站么做淘宝客赚佣金seo网站优化系统
  • 政府网站建设必要性最新的新闻 最新消息
  • 哪里可以做网站啊营销咨询公司排名前十
  • 网站建设关键技术线上营销推广方式有哪些
  • 移动网站制作公司友链交换网站源码
  • 怎么制作属于自己的网站山东seo网页优化外包
  • 做任务网站源码百度关键词搜索量统计
  • 公司建网站要多少钱网推接单平台
  • 高校网站建设的时效性关键词排名优化公司外包
  • apache php 多个网站发外链的论坛
  • 网站分页设计旺道网站排名优化
  • 建一个网络平台需要什么条件英语seo
  • 建材行业门户网站源码百度新闻