mybatis多对多关联查询——(十)
1.需求
查询用户及用户购买商品信息。
2 sql语句
查询主表是:用户表
关联表:由于用户和商品没有直接关联,通过订单和订单明细进行关联,所以关联表:
orders、orderdetail、items
SELECT orders.*, USER.username, USER.sex, USER.address, orderdetail.id orderdetail_id, orderdetail.items_id, orderdetail.items_num, orderdetail.orders_id, items.name items_name, items.detail items_detail, items.price items_price FROM orders, USER, orderdetail, items WHERE orders.user_id = user.id AND orderdetail.orders_id=orders.id AND orderdetail.items_id = items.id
3 映射思路
将用户信息映射到user中。
在user类中添加订单列表属性List<Orders> orderslist,将用户创建的订单映射到orderslist
在Orders中添加订单明细列表属性List<OrderDetail>orderdetials,将订单的明细映射到orderdetials
在OrderDetail中添加Items属性,将订单明细所对应的商品映射到Items
User.java
aaarticlea/png;base64,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" alt="" />
Orders.java
aaarticlea/png;base64,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" alt="" />
Orderdetail.java
aaarticlea/png;base64,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" alt="" />
Items.java
aaarticlea/png;base64,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" alt="" />
4 mapper.xml
aaarticlea/png;base64,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" alt="" />
5 resultMap定义
<!-- 查询用户及购买的商品 -->
<resultMap type="cn.itcast.mybatis.po.User" id="UserAndItemsResultMap">
<!-- 用户信息 -->
<id column="user_id" property="id"/>
<result column="username" property="username"/>
<result column="sex" property="sex"/>
<result column="address" property="address"/> <!-- 订单信息
一个用户对应多个订单,使用collection映射
-->
<collection property="ordersList" ofType="cn.itcast.mybatis.po.Orders">
<id column="id" property="id"/>
<result column="user_id" property="userId"/>
<result column="number" property="number"/>
<result column="createtime" property="createtime"/>
<result column="note" property="note"/> <!-- 订单明细
一个订单包括 多个明细
-->
<collection property="orderdetails" ofType="cn.itcast.mybatis.po.Orderdetail">
<id column="orderdetail_id" property="id"/>
<result column="items_id" property="itemsId"/>
<result column="items_num" property="itemsNum"/>
<result column="orders_id" property="ordersId"/> <!-- 商品信息
一个订单明细对应一个商品
-->
<association property="items" javaType="cn.itcast.mybatis.po.Items">
<id column="items_id" property="id"/>
<result column="items_name" property="name"/>
<result column="items_detail" property="detail"/>
<result column="items_price" property="price"/>
</association> </collection> </collection> </resultMap>
总结:
一对一的在外键中添加主键对象为其属性,查询的时候外键表为主查询表。比如订单表对用户是一对一,订单中有用户的id为外键,查询的时候在订单中添加一用户属性。然后通过resultMap(单个对象映射用association)或通过Pojo封装进行一对一查询。
一对多的在一个里面添加多个为List属性,比如订单与订单明细为一对多,在订单中添加一个 private List<Orderdetail> orderdetails; 属性,最后用resultMap进行映射,list用collection映射。
多对多拆分为两个一对多,分析过程与映射过程与上面一样。
补充:例如:一个角色和权限的对应关系: (查询角色信息)
角色中添加角色权限集合,角色权限中添加权限属性。
角色bean(添加角色权限集合)
public class Role {
private String roleid; private String rolename; private String rolestatus; private String description; private String insituteid; private String isuse; private String remark; private List<Rolepermission> rolepermissions;//角色权限集合
。。。
角色权限bean(添加permission属性)
public class Rolepermission {
private Integer rolepermissionid; private String roleid; private String permissionid; private Permission permission; ..
}
Mapper映射
<!--1.组合条件分页查询角色信息-->
<!--1.1结果集映射-->
<resultMap id="RolePermissionResultMap" type="cn.xm.jwxt.bean.system.Role">
<!--(1)角色信息-->
<id column="roleID" property="roleid"></id>
<result column="roleName" property="rolename"/>
<result column="roleStatus" property="rolestatus"/>
<result column="description" property="description"/>
<!--(2)角色权限信息-->
<collection property="rolepermissions" ofType="cn.xm.jwxt.bean.system.Rolepermission">
<id column="rolePermissionId" property="rolepermissionid"></id>
<!--(3)权限信息-->
<association property="permission" javaType="cn.xm.jwxt.bean.system.Permission">
<id column="permissionID" property="permissionname"></id>
<result column="permissionStatus" property="permissionstatus"/>
</association>
</collection>
</resultMap>
<!--2.查询数据-->
<select id="getRoleByCondition" parameterType="map" resultMap="RolePermissionResultMap">
SELECT *
FROM role
LEFT JOIN rolepermission
ON role.roleID = rolepermission.roleId
LEFT JOIN permission
ON rolepermission.permissionId = permission.permissionID
</select>
mybatis多对多关联查询——(十)的更多相关文章
- mybatis多对多关联查询
多对多关系 一个学生可以选多门课程,而一门课程可以由多个学生选择,这就是一个典型的多对多关联关系.所谓多对多关系,其实是由两个互反的一对多关系组成.即多对多关系都会通过一个中间表来建立,例如选课表.学 ...
- mybatis多对一关联
mybatis多对一关联查询实现 1.定义实体 定义实体的时候需要注意,若是双向关联,就是说双方的属性中都含有对方对象作为域属性出现, 那么在写toString()方法时需要注意,只让某一方输出即可, ...
- mybatis实战教程二:多对一关联查询(一对多)
多对一关联查询 一.数据库关系.article表和user表示多对一的关系 CREATE TABLE `article` ( `id` ) NOT NULL AUTO_INCREMENT, `user ...
- mybatis 14: 多对一关联查询
业务背景 根据订单id查询订单的信息,以及该订单所属的客户的基本信息(不包括该客户自己的订单信息) 两张数据表 客户表 订单表 实体类 客户实体类:Customer private Integer i ...
- Java基础-SSM之mybatis多对多关联
Java基础-SSM之mybatis多对多关联 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.准备测试环境(创建数据库表) 1>.创建teas,stus,links表 u ...
- 三、mybatis多表关联查询和分布查询
前言 mybatis多表关联查询和懒查询,这篇文章通过一对一和一对多的实例来展示多表查询.不过需要掌握数据输出的这方面的知识.之前整理过了mybatis入门案例和mybatis数据输出,多表查询是在前 ...
- NHibernate教程(11)--多对多关联查询
本节内容 多对多关系引入 多对多映射关系 多对多关联查询 1.原生SQL关联查询 2.HQL关联查询 3.Criteria API关联查询 结语 多对多关系引入 让我们再次回顾在第二篇中建立的数据模型 ...
- MyBatis 多表关联查询
多表关联查询 一对多 单条SQL实现. //根据部门编号查询出部门和部门成员姓名public dept selectAll() thorws Excatipon; //接口的抽象方法 下面是对应接口的 ...
- mybatis一对多关联查询+pagehelper->分页错误
mybatis一对多关联查询+pagehelper->分页错误. 现象: 网上其他人遇到的类似问题:https://segmentfault.com/q/1010000009692585 解决: ...
随机推荐
- 第一Sprint阶段回复其他各组对我组提出的意见
组号 组名 组名 对我组提出的意见 对各组的回复 1 理财猫 1.虚拟机和手机端的交互是否能扩展到整个学校 2.每次都需要老师输入作业内容吗 3.操作过于繁琐 多谢你们的建议,老师可以选择输入 ...
- c++中队列queue和栈stack的基本操作
1.queue 模板类的定义在<queue>头文件中. 定义queue 对象的示例代码如下:queue<int> q1;queue<double> q2; queu ...
- React组件继承的由来
没有显式继承的时候我们这么写: import * as React from "react"; export interface HelloProps { compiler: st ...
- 第十周PSP&进度条
PSP 一.表格: D日期 C类型 C内容 S开始时间 E结束时间 I时间间隔 T净时间(mins) 预计花费时间(mins) 11月17号 站立会议 分配任务 13:00 13:30 0 3 ...
- Windows 下面的 redis GUI操作工具
1. 下载地址 redisdesktop https://redisdesktop.com/download 2. 下载windows版本并且进行安装 处理redis 的参数 根据上面的一篇博客 采取 ...
- 当数据库字段与model字段规则不一致时候 需要在xml里面手工转换
- JSP生成静态Html页面
[转载]JSP生成静态Html页面 在网站项目中,为了访问速度加快,为了方便百度爬虫抓取网页的内容,需要把jsp的动态页面转为html静态页面.通常有2种常用的方式: 1.伪静态,使用URL Rewr ...
- BZOJ2756 SCOI2012奇怪的游戏(二分答案+最大流)
由数据范围容易想到网络流.由于操作只是对于棋盘上相邻两格,容易想到给其黑白染色. 假设已经知道最后要变成什么数.那么给黑白点之间连边,其流量则表示同时增加的次数,再用源汇给其限流为需要增加的数即可. ...
- BZOJ2428 HAOI2006均分数据(模拟退火)
显然可以状压dp.显然过不了. 考虑暴力模拟退火.每次随机改变一个数所属集合即可. 并不明白要怎么调参. #include<iostream> #include<cstdio> ...
- C++并发编程实战---阅读笔记
1. 当把函数对象传入到线程构造函数中时,需要避免“最令人头痛的语法解析”.如果传递了一个临时变量,而不是一个命名的变量:C++编译器会将其解析为函数声明,而不是类型对象的定义. 例如: class ...