public class OrderCustom extends Orders{
//添加用户信息
private String username;
private String sex;
private String address;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
}
<select id="findOrderUser" resultType="com.luchao.mybatis.first.po.OrderCustom">
select
orders.*,
user.username,
user.sex,
user.address
from orders,user
where
orders.user_id = user.id
</select>
//查询订单和用户信息 public List<OrderCustom> findOrderUser() throws Exception;
public void findOrdersUser() throws Exception {
// 获取sqlSession对象
SqlSession sqlSession = sqlSessionFactory.openSession();
// 创建OrderMapper对象,MyBatis自动生成mapper代理
OrderMapper orderMapper = sqlSession.getMapper(OrderMapper.class);
// 调用orderMapper的方法,查询订单和用户信息
List<OrderCustom> orderCustoms = orderMapper.findOrderUser();
System.out.println(orderCustoms.size());
}
public class Orders {
private Integer id;
private Integer userId;
private String number;
private Date createtime;
private String note;
//用户信息
private User user;
//订单条目
private List<Orderdetail> orderdetails;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public Integer getUserId() {
return userId;
}
public void setUserId(Integer userId) {
this.userId = userId;
}
public String getNumber() {
return number;
}
public void setNumber(String number) {
this.number = number == null ? null : number.trim();
}
public Date getCreatetime() {
return createtime;
}
public void setCreatetime(Date createtime) {
this.createtime = createtime;
}
public String getNote() {
return note;
}
public void setNote(String note) {
this.note = note == null ? null : note.trim();
}
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
public List<Orderdetail> getOrderdetails() {
return orderdetails;
}
public void setOrderdetails(List<Orderdetail> orderdetails) {
this.orderdetails = orderdetails;
}
}
<!-- 订单查询关联用户的resultMap,将整个查询结果映射到orders中 -->
<resultMap type="com.luchao.mybatis.first.po.Orders" id="ordersUserResultMap">
<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" />
<!-- 配置映射的关联的用户信息 -->
<!-- association:用于映射关联查询单个对象的信息 property:要将关联查询的用户信息映射到Orders中哪个属性 -->
<association property="user" javaType="com.luchao.mybatis.first.po.User">
<!-- id:关联查询用户的唯 一标识 column:指定唯 一标识用户信息的列 javaType:映射到user的哪个属性 -->
<id column="user_id" property="id" />
<result column="username" property="username" />
<result column="sex" property="sex" />
<result column="address" property="address" />
</association>
</resultMap>
<select id="findOrderUserMap" resultMap="ordersUserResultMap">
select
orders.*,
user.username,
user.sex,
user.address
from orders,user
where
orders.user_id = user.id
</select>
//查询订单和用户信息通过resultMap public List<Orders> findOrderUserMap() throws Exception;
public void findOrdersUserMap() throws Exception {
// 获取sqlSession对象
SqlSession sqlSession = sqlSessionFactory.openSession();
// 创建OrderMapper对象,MyBatis自动生成mapper代理
OrderMapper orderMapper = sqlSession.getMapper(OrderMapper.class);
// 调用orderMapper的方法,查询订单和用户信息
List<Orders> orders = orderMapper.findOrderUserMap();
System.out.println(orders.size());
}
<!-- 订单及订单明细和用户信息的map 使用继承不用在配置订单和用户信息 -->
<resultMap type="com.luchao.mybatis.first.po.Orders" id="ordersOrderdetailResultMap"
extends="ordersUserResultMap">
<collection property="orderdetails"
ofType="com.luchao.mybatis.first.po.Orderdetail">
<result column="orderdetail_id" property="id" />
<result column="items_id" property="itemsId" />
<result column="items_num" property="itemsNum" />
<result column="orders_id" property="ordersId" />
</collection>
</resultMap>
<select id="findOrderAndOrderdetailMap" resultMap="ordersOrderdetailResultMap">
select
orders.*,
user.username,
user.sex,
user.address,
orderdetail.id orderdetail_id,
orderdetail.items_id,
orderdetail.items_num,
orderdetail.orders_id
from
orders,user,orderdetail
where orders.user_id = user.id and
orderdetail.orders_id = orders.id
</select>
public void findOrderAndOrderdetailMap() throws Exception {
// 获取sqlSession对象
SqlSession sqlSession = sqlSessionFactory.openSession();
// 创建OrderMapper对象,MyBatis自动生成mapper代理
OrderMapper orderMapper = sqlSession.getMapper(OrderMapper.class);
// 调用orderMapper的方法,查询订单和用户信息
List<Orders> orders = orderMapper.findOrderAndOrderdetailMap();
System.out.println(orders.get().getOrderdetails().size());
System.out.println(orders.size());
}
public class Orderdetail {
private Integer id;
private Integer ordersId;
private Integer itemsId;
private Integer itemsNum;
//商品信息
private Items items;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public Integer getOrdersId() {
return ordersId;
}
public void setOrdersId(Integer ordersId) {
this.ordersId = ordersId;
}
public Integer getItemsId() {
return itemsId;
}
public void setItemsId(Integer itemsId) {
this.itemsId = itemsId;
}
public Integer getItemsNum() {
return itemsNum;
}
public void setItemsNum(Integer itemsNum) {
this.itemsNum = itemsNum;
}
public Items getItems() {
return items;
}
public void setItems(Items items) {
this.items = items;
}
@Override
public String toString() {
return "Orderdetail [id=" + id + ", ordersId=" + ordersId
+ ", itemsId=" + itemsId + ", itemsNum=" + itemsNum + "]";
}
}
<!-- 查询用户及购买的商品 -->
<resultMap type="com.luchao.mybatis.first.po.User" id="ordersItemsResultMap">
<!-- 用户信息 -->
<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="com.luchao.mybatis.first.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="com.luchao.mybatis.first.po.Orderdetail">
<id column="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="com.luchao.mybatis.first.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>
<select id="findOrderAndItemMap" resultMap="ordersItemsResultMap">
select
orders.*,
user.username,
user.sex,
user.address,
orderdetail.id orderdetail_id,
orderdetail.items_id,
orderdetail.items_num,
orderdetail.orders_id,
items.id items_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
</select>
//查询订单、订单明细和用户信息通过resultMap public List<User> findOrderAndItemMap() throws Exception;
public void findOrderAndItemMap() throws Exception {
// 获取sqlSession对象
SqlSession sqlSession = sqlSessionFactory.openSession();
// 创建OrderMapper对象,MyBatis自动生成mapper代理
OrderMapper orderMapper = sqlSession.getMapper(OrderMapper.class);
// 调用orderMapper的方法,查询订单和用户信息
List<User> users = orderMapper.findOrderAndItemMap();
System.out.println(users.get().getOrdersList().get()
.getOrderdetails().get().getId());
// System.out.println(orders.size());
}
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有