一、实体类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一对多和多对一相关推荐

  1. jpa 多层嵌套一对多_JPA一对多、多对多json序列化死循环问题解决

    Task import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import javax.persistence.*; impor ...

  2. mysql join 一对多_Join 一对多连接

    数据库常见的join方式有三种:inner join, left outter join, right outter join(还有一种full join,因不常用,本文不讨论).这三种连接方式都是将 ...

  3. c语言一对多,NRF905一对多的有关问题

    当前位置:我的异常网» C语言 » NRF905一对多的有关问题 NRF905一对多的有关问题 www.myexceptions.net  网友分享于:2014-09-03  浏览:0次 NRF905 ...

  4. mysql一对多_mysql一对多查询合并多的一方的数据。

    有时候会有这样一个需求, 查询的一条记录需要包含另一个表的多条记录,并且让多条记录成为一个字段组成最终的一条记录.比较难描述,看例子吧. 创建一个产品表: create table product( ...

  5. mybatis的面试一对一,一对多,多对多的mapper.xml配置

    使用springboot完成一对一,一对多: https://blog.csdn.net/KingBoyWorld/article/details/78966789 传统的mapper文件中的一对一, ...

  6. django一对多、多对多模型、自关联的建立

    文章目录 django模型 数据库设计学习: 一对多模型 一对多的查询: 多对多模型 自关联模型 django模型 数据库设计学习: 作用:设计的好,会清晰,且易于理解,后续开发也事半功倍,易于维护 ...

  7. MySQL数据库之-foreign key 外键(一对多、多对多、一对一)、修改表、复制表

    阅读目录 一.引言: 二.一对多(foreign key) 三.多对多: 四.一对一: 五.修改表: 六.复制表: 摘要: 外键 一对多 外键 多对多 外键 一对一 一.引言: 我们在同一数据库创建的 ...

  8. (7) ebj学习: jpa 一对一,一对多,多对多

    一  : 一对一 1 一对一主键关联 Customer.java import javax.persistence.Entity; import javax.persistence.Id; impor ...

  9. Hibernate关联关系配置(一对多、一对一和多对多)

    第一种关联关系:一对多(多对一) "一对多"是最普遍的映射关系,简单来讲就如消费者与订单的关系. 一对多:从消费者角的度来说一个消费者可以有多个订单,即为一对多. 多对一:从订单的 ...

最新文章

  1. iOS 如何写出更加严谨的应用
  2. 深入浅出浏览器渲染原理
  3. php 腾讯企业邮箱接口,帮助中心 腾讯企业邮箱OpenApi协议
  4. 【C语言】找到兼职了心情紧张!
  5. 基础之 window-self-top-opener
  6. php pop3,php使用smtp,pop3协议收发邮件代码
  7. 2021-06-16volatile的三种特性
  8. 实战演习(九)——用python分析科比生涯数据
  9. 35岁高以翔过劳猝死:人生无常,求各位项目经理少加点班吧
  10. 如何生成条形码并打印出来
  11. Word frequency program 词频分析程序
  12. 添加引用提示:未能找到引用的组件“XXX”。未能加载类型库。加载类型库/DLL 时出错。...
  13. zabbix短信告警oracle,zabbix自定义脚本实现短信报警提醒
  14. UE4 VR 模式下全屏解决办法
  15. php msvcr110,msvcr110.dll丢失的解决方法是什么
  16. 网工知识角-思科华为的网络工程师常用工具盘点
  17. linux0.11-文件系统
  18. 1510 出纳员问题
  19. 站长建站选择网站空间云服务器和虚拟主机哪个好?
  20. 汇编一日一学(12)--求最小偶数

热门文章

  1. java容易掉发吗_容易被忽略的面试题—Java高并发
  2. 华为acl怎么生效_华为ACL配置教程(一)
  3. 爬虫2-web请求与http协议
  4. 服务端和客户端测试连通ip设置记录
  5. Unity Shader 屏幕后效果——Bloom外发光
  6. 吴恩达机器学习笔记(二) —— Logistic回归
  7. VMware仅主机模式访问外网
  8. php 验证码需开启gd2
  9. 一些jquery的使用方法
  10. springboot版本升级导致webservice调用失败org.apache.cxf.common.jaxb.JAXBUtils.createMininumEscapeHandle