在学习MyBatis3的过程中,文档上面一直在强调一个id的东西!在做这个实验的时候,也因为没有理解清楚id含义而导致
一对多的“多”中也只有一条数据
。id和result的唯一不同是id表示的结果将是当比较对象实例时用到的标识属性。这帮助来改进整体表现,特别是缓存和嵌入结果映射。
所以不同数据的id应该唯一区别
,不然导致数据
结果集只有一条数据。
2.order
三、映射mapper文件
一、表
二、实体
1.person
- package com.kerwin.mybatis.pojo;
- import java.util.List;
- public class Person {
- private int id;
- private String name;
- private List<Orders> orderList;
- public int getId() {
- return id;
- }
- public void setId(int id) {
- this.id = id;
- }
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- public List<Orders> getOrderList() {
- return orderList;
- }
- public void setOrderList(List<Orders> orderList) {
- this.orderList = orderList;
- }
- @Override
- public String toString() {
- return "Person [id=" + id + ", name=" + name + "]";
- }
- public Person() {
- super();
- // TODO Auto-generated constructor stub
- }
- public Person(int id, String name, List<Orders> orderList) {
- super();
- this.id = id;
- this.name = name;
- this.orderList = orderList;
- }
- }
2.order
- package com.kerwin.mybatis.pojo;
- public class Orders {
- private int id;
- private double price;
- private Person person;
- public Person getPerson() {
- return person;
- }
- public void setPerson(Person person) {
- this.person = person;
- }
- public int getId() {
- return id;
- }
- public void setId(int id) {
- this.id = id;
- }
- public double getPrice() {
- return price;
- }
- public void setPrice(double price) {
- this.price = price;
- }
- @Override
- public String toString() {
- return "Orders [id=" + id + ", price=" + price + "]";
- }
- public Orders() {
- super();
- // TODO Auto-generated constructor stub
- }
- }
三、映射mapper文件
1. PersonMapper.xml
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE mapper
- PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
- "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
- <mapper namespace="com.kerwin.mybatis.pojo.Person">
- <resultMap type="com.kerwin.mybatis.pojo.Person" id="personreSultMap">
- <id column="p_id" property="id"/>
- <result column="name" property<span style="margin: 0px; padding: 0px; border