1、首先在数据库中创建person表与order表
代码如下:
create table person(personId varchar(36) primary key,
personName varchar(64),
personAddress varchar(128),
personTel varchar(11));
create table orders(orderId varchar(36),
orderNumber varchar(20),
orderPrice int,
pid varchar(36));
2、书写相应的pojo
代码如下:
package com.njupt.pojo;
import java.util.List;
public class Person {
private String id;
private String name;
private String address;
private String tel;
private List<Order> orders;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getTel() {
return tel;
}
public void setTel(String tel) {
this.tel = tel;
}
public List<Order> getOrders() {
return orders;
}
public void setOrders(List<Order> orders) {
this.orders = orders;
}
}
Order类如下:
package com.njupt.pojo;
public class Order {
private String id;
private int number;
private int price;
private Person p;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public int getNumber() {
return number;
}
public void setNumber(int number) {
this.number = number;
}
public int getPrice() {
return price;
}
public void setPrice(int price) {
this.price = price;
}
public Person getP() {
return p;
}
public void setP(Person p) {
this.p = p;
}
}
3、书写相应的映射文件
Person.xml(一对多)的主要代码如下:
<resultMap type="Person" id="personMap">
<id column="personId" property="id"/>
<result column="personName" property="name"/>
<result column="personAddress" property="address"/>
<result column="personTel" property="tel"/>
<collection property="orders" ofType="Order">
<id column="orderId" property="id"/>
<result column="orderNumber" property="number"/>
<result column="orderPrice" property="price"/>
</collection>
</resultMap>
<select id="select1" parameterType="string" resultMap="personMap">
select p.*,o.* from person p ,orders o where p.personId = o.pid and p.personId = #{id}
</select>
Order.xml(多对一)的主要代码如下:
<resultMap type="Order" id="orderMap">
<id column="orderId" property="id" />
<result column="orderNumber" property="number" />
<result column="orderPrice" property="price" />
<association property="p" javaType="Person">
<id column="personId" property="id" />
<result column="personName" property="name" />
<result column="personAddress" property="address" />
<result column="personTel" property="tel" />
</association>
</resultMap>
<select id="select2" parameterType="string" resultMap="orderMap">
select p.*,o.* from person p , orders o where p.personId = o.pid and o.orderId = #{id}
</select>
4、最后,一定要注意在总配置文件中包含映射文件。