Java教程:Mybatis一对多查询,并定义ResultMap
源码:
PO:
一方:
@ApiModel("事故管理")
public class OcAccidentPO implements Serializable {
/**事故ID*/
@ApiModelProperty(value = "主键Id")
private Integer id;
/**创建时间*/
@JSONField(format = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "创建时间")
private Date createTime;
/**创建人*/
@ApiModelProperty(value = "创建人")
private Integer createUser;
/**修改时间*/
@JSONField(format = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "修改时间")
private Date updateTime;
/**修改人*/
@ApiModelProperty(value = "修改人")
private Integer updateUser;
/**事故明细*/
@ApiModelProperty(value = "事故明细")
private Set<OcAccidentDetailPO> ocAccidentDetailPOSet = new HashSet<OcAccidentDetailPO>();
gettingsetting省略。。。
多方:
@ApiModel("事故管理明细")
public class OcAccidentDetailPO implements Serializable {
/**自增主键*/
private Integer id;
/**创建时间*/
@JSONField(format = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "创建时间")
private Date createTime;
/**创建人*/
@ApiModelProperty(value = "创建人")
private Integer createUser;
/**修改时间*/
@JSONField(format = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "修改时间")
private Date updateTime;
/**修改人*/
@ApiModelProperty(value = "修改人")
private Integer updateUser;
gettingsetting省略。。。
Mapper:
一方:
List<OcAccidentPO> findByPage();
Xml:
<select id="findByPage" resultMap="BaseResultMap">
select o.*,
od.id od_id,od.create_time od_create_time,od.create_user od_create_user,
od.update_time od_update_time,od.update_user od_update_user
from oc_accident o left join oc_accident_detail od on o.id=od.accident_id
</select>
BaseResultMap:
<resultMap id="BaseResultMap" type="OcAccidentPO" >
<id column="id" property="id" jdbcType="INTEGER" />
<result column="create_time" property="createTime" jdbcType="TIMESTAMP" />
<result column="create_user" property="createUser" jdbcType="INTEGER" />
<result column="update_time" property="updateTime" jdbcType="TIMESTAMP" />
<result column="update_user" property="updateUser" jdbcType="INTEGER" />
<collection property="ocAccidentDetailPOSet" resultMap="ocAccidentDetailPOSetResult"/>
</resultMap>
ocAccidentDetailPOSetResult:
<resultMap id="ocAccidentDetailPOSetResult" type="OcAccidentDetailPO" >
<id column="od_id" property="id" jdbcType="INTEGER" />
<result column="od_create_time" property="createTime" jdbcType="TIMESTAMP" />
<result column="od_create_user" property="createUser" jdbcType="INTEGER" />
<result column="od_update_time" property="updateTime" jdbcType="TIMESTAMP" />
<result column="od_update_user" property="updateUser" jdbcType="INTEGER" />
</resultMap>
多方后续再出。。。