问题:
多层级对象访问即:对象里包含非基本类型对象时,在xml里配置访问子对象的数据
下面直接上代码例子~
model对象
RegRecord.java:
public class RegRecord {
private long id;
private MoRegRequest moRegRequest;
private MoRegResponse moRegResponse;
private String createTime;
}
dao对象
RegRecordDao.java:
public class RegRecordDao extends SqlMapClientTemplate{
public void save(RegRecord regRecord){
this.insert("insertRegRecord", regRecord);
}
}
dao配置
RegRecordDao.xml:
<?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>
<typeAlias alias="RegRecord" type="com.mo.RegRecord"/>
<typeAlias alias="MoRegRequest" type="com.mo.MoRegRequest"/>
<typeAlias alias="MoRegResponse" type="com.mo.MoRegResponse"/>
<resultMap id="moRegRequestMap" class="MoRegRequest">
<result property="appId" column="app_id"/>
<result property="appVersion" column="app_version"/>
</resultMap>
<resultMap id="moRegResponseMap" class="MoRegResponse">
<result property="result" column="result"/>
</resultMap>
<resultMap id="RegRecordMap" class="RegRecord">
<result property="id" column="id"/>
<result property="moRegRequest" resultMap="moRegRequestMap"/>
<result property="moRegResponse" resultMap="moRegResponseMap"/>
<result property="createTime" column="create_time"/>
</resultMap>
<insert id="insertRegRecord" parameterClass="RegRecord">
<selectKey resultClass="long" keyProperty="id">
SELECT nextval('tbl_mo_pay_reg_record_id_seq'::regclass) AS id
</selectKey>
INSERT INTO tbl_mo_pay_reg_record(
app_id,
app_version,
result
)
VALUES (
#moRegRequest.appId#,
#moRegRequest.appVersion#,
#moRegResponse.result#,
);
</insert>