一对多 java_mybatis一对多和多对一
一、实体类package com.liu.po;
/**
* 订单类
*
* @author yingjie
*
*/
public class OrderInfo {
private Integer orderId;
private String orderName;
private Double orderPrice;
private UserInfo userInfo;
public UserInfo getUserInfo() {
return userInfo;
}
public void setUserInfo(UserInfo userInfo) {
this.userInfo = userInfo;
}
public Integer getOrderId() {
return orderId;
}
public void setOrderId(Integer orderId) {
this.orderId = orderId;
}
public String getOrderName() {
return orderName;
}
public void setOrderName(String orderName) {
this.orderName = orderName;
}
public Double getOrderPrice() {
return orderPrice;
}
public void setOrderPrice(Double orderPrice) {
this.orderPrice = orderPrice;
}
@Override
public String toString() {
return "OrderInfo [orderId=" + orderId + ", orderName=" + orderName
+ ", orderPrice=" + orderPrice + ", userInfo=" + userInfo + "]";
}
}
用户类package com.liu.po;
import java.util.List;
/**
* 用户信息的实体类
*
* @author yingjie
*
*/
public class UserInfo {
private Integer userId;
private String userName;
private String userSex;
private List orderList;
public List getOrderList() {
return orderList;
}
public void setOrderList(List orderList) {
this.orderList = orderList;
}
public Integer getUserId() {
return userId;
}
public void setUserId(Integer userId) {
this.userId = userId;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getUserSex() {
return userSex;
}
public void setUserSex(String userSex) {
this.userSex = userSex;
}
@Override
public String toString() {
return "UserInfo [userId=" + userId + ", userName=" + userName
+ ", userSex=" + userSex + "]";
}
}
二、Mapper XML映射文件
多对一:<?xml version="1.0" encoding="UTF-8" ?>
mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
select * from order_info
一对多<?xml version="1.0" encoding="UTF-8" ?>
mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
select
a.*,b.*
from
user_info a,
order_info b
where
a.user_id = b.user_id
and a.user_id=#{userId}
三、Mapper 接口package com.liu.mapper;
import java.util.List;
import com.liu.po.OrderInfo;
public interface OrderMapper {
public List selectOrder();
}
package com.liu.mapper;
import com.liu.po.UserInfo;
public interface UserInfoMapper {
public UserInfo selectUser(Integer userId);
}
四、单元测试
package com.liu;
import java.util.List;
import org.apache.ibatis.session.SqlSession;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import com.liu.mapper.OrderMapper;
import com.liu.mapper.UserInfoMapper;
import com.liu.po.OrderInfo;
import com.liu.po.UserInfo;
import com.liu.utils.DBFactory;
public class OrderTest {
SqlSession session = null;
UserInfoMapper mapper = null;
OrderMapper orderMapper = null;
@Before
public void testBefore() {
session = DBFactory.getSession();
mapper = session.getMapper(UserInfoMapper.class);
orderMapper = session.getMapper(OrderMapper.class);
}
@After
public void testAfter() {
session.close();
}
@Test
public void selectOrder() {
List list = orderMapper.selectOrder();
for (OrderInfo order : list) {
System.out.println(order);
}
}
@Test
public void selectUser() {
UserInfo user = mapper.selectUser(4);
System.out.println(user);
List list = user.getOrderList();
for (OrderInfo order : list) {
System.out.println(order);
}
}
}
一对多 java_mybatis一对多和多对一相关推荐
- jpa 多层嵌套一对多_JPA一对多、多对多json序列化死循环问题解决
Task import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import javax.persistence.*; impor ...
- mysql join 一对多_Join 一对多连接
数据库常见的join方式有三种:inner join, left outter join, right outter join(还有一种full join,因不常用,本文不讨论).这三种连接方式都是将 ...
- c语言一对多,NRF905一对多的有关问题
当前位置:我的异常网» C语言 » NRF905一对多的有关问题 NRF905一对多的有关问题 www.myexceptions.net 网友分享于:2014-09-03 浏览:0次 NRF905 ...
- mysql一对多_mysql一对多查询合并多的一方的数据。
有时候会有这样一个需求, 查询的一条记录需要包含另一个表的多条记录,并且让多条记录成为一个字段组成最终的一条记录.比较难描述,看例子吧. 创建一个产品表: create table product( ...
- mybatis的面试一对一,一对多,多对多的mapper.xml配置
使用springboot完成一对一,一对多: https://blog.csdn.net/KingBoyWorld/article/details/78966789 传统的mapper文件中的一对一, ...
- django一对多、多对多模型、自关联的建立
文章目录 django模型 数据库设计学习: 一对多模型 一对多的查询: 多对多模型 自关联模型 django模型 数据库设计学习: 作用:设计的好,会清晰,且易于理解,后续开发也事半功倍,易于维护 ...
- MySQL数据库之-foreign key 外键(一对多、多对多、一对一)、修改表、复制表
阅读目录 一.引言: 二.一对多(foreign key) 三.多对多: 四.一对一: 五.修改表: 六.复制表: 摘要: 外键 一对多 外键 多对多 外键 一对一 一.引言: 我们在同一数据库创建的 ...
- (7) ebj学习: jpa 一对一,一对多,多对多
一 : 一对一 1 一对一主键关联 Customer.java import javax.persistence.Entity; import javax.persistence.Id; impor ...
- Hibernate关联关系配置(一对多、一对一和多对多)
第一种关联关系:一对多(多对一) "一对多"是最普遍的映射关系,简单来讲就如消费者与订单的关系. 一对多:从消费者角的度来说一个消费者可以有多个订单,即为一对多. 多对一:从订单的 ...
最新文章
- iOS 如何写出更加严谨的应用
- 深入浅出浏览器渲染原理
- php 腾讯企业邮箱接口,帮助中心 腾讯企业邮箱OpenApi协议
- 【C语言】找到兼职了心情紧张!
- 基础之 window-self-top-opener
- php pop3,php使用smtp,pop3协议收发邮件代码
- 2021-06-16volatile的三种特性
- 实战演习(九)——用python分析科比生涯数据
- 35岁高以翔过劳猝死:人生无常,求各位项目经理少加点班吧
- 如何生成条形码并打印出来
- Word frequency program 词频分析程序
- 添加引用提示:未能找到引用的组件“XXX”。未能加载类型库。加载类型库/DLL 时出错。...
- zabbix短信告警oracle,zabbix自定义脚本实现短信报警提醒
- UE4 VR 模式下全屏解决办法
- php msvcr110,msvcr110.dll丢失的解决方法是什么
- 网工知识角-思科华为的网络工程师常用工具盘点
- linux0.11-文件系统
- 1510 出纳员问题
- 站长建站选择网站空间云服务器和虚拟主机哪个好?
- 汇编一日一学(12)--求最小偶数
热门文章
- java容易掉发吗_容易被忽略的面试题—Java高并发
- 华为acl怎么生效_华为ACL配置教程(一)
- 爬虫2-web请求与http协议
- 服务端和客户端测试连通ip设置记录
- Unity Shader 屏幕后效果——Bloom外发光
- 吴恩达机器学习笔记(二) —— Logistic回归
- VMware仅主机模式访问外网
- php 验证码需开启gd2
- 一些jquery的使用方法
- springboot版本升级导致webservice调用失败org.apache.cxf.common.jaxb.JAXBUtils.createMininumEscapeHandle