Java教程:Mybatis一对多查询,并定义ResultMap

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>

多方后续再出。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值