可以通过ibatis建立一对多的映射
POJO
Java code
public class Customer {
private Long id;
private String name;
private String address;
private String postcode;
private String sex;
private List<Orders> orderlist = new ArrayList<Orders>();
public class Orders {
private Long id;
private String code;
private Long customerId;
private Customer customer;
Customer.xml
XML code
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd" >
<sqlMap namespace="customer">
<typeAlias alias="customer" type="com.lavasoft.ssi.domain.Customer"/>
<resultMap id="result_base" class="customer">
<result property="id" column="id"/>
<result property="name" column="name"/>
<result property="address" column="address"/>
<result property="postcode" column="postcode"/>
<result property="sex" column="sex"/>
</resultMap>
<resultMap id="result" class="customer" extends="result_base">
<result property="orderlist" column="id" select="orders.findByCustomerId"/>
</resultMap>
<insert id="insert" parameterClass="customer">
insert into customer(address,postcode,sex,name) values(#address#,#postcode#,#sex#,#name#)
<selectKey keyProperty="id" resultClass="long">
select LAST_INSERT_ID()
</selectKey>
</insert>
<select id="getById" parameterClass="
POJO
Java code
public class Customer {
private Long id;
private String name;
private String address;
private String postcode;
private String sex;
private List<Orders> orderlist = new ArrayList<Orders>();
public class Orders {
private Long id;
private String code;
private Long customerId;
private Customer customer;
Customer.xml
XML code
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd" >
<sqlMap namespace="customer">
<typeAlias alias="customer" type="com.lavasoft.ssi.domain.Customer"/>
<resultMap id="result_base" class="customer">
<result property="id" column="id"/>
<result property="name" column="name"/>
<result property="address" column="address"/>
<result property="postcode" column="postcode"/>
<result property="sex" column="sex"/>
</resultMap>
<resultMap id="result" class="customer" extends="result_base">
<result property="orderlist" column="id" select="orders.findByCustomerId"/>
</resultMap>
<insert id="insert" parameterClass="customer">
insert into customer(address,postcode,sex,name) values(#address#,#postcode#,#sex#,#name#)
<selectKey keyProperty="id" resultClass="long">
select LAST_INSERT_ID()
</selectKey>
</insert>
<select id="getById" parameterClass="