mybatis返回值多个对象

本文介绍了如何在SpringBoot和Mybatis整合的项目中,处理返回值对象包含对象集合的情况,详细讨论了personalHistoryInfo对象以及集合内对象的映射配置,并展示了最终的json结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SpringBoot+mysql+Mybatis返回值对象中含有对象集合

1.对象personalHistoryInfo

public class PersonalHistoryInfo {
    /** 员工id */
    private String staffId;
    /** 员工姓名 */
    private String staffName;
    /** 事务id */
    private String affairId;
    /** 事务名称 */
    private String affairName;
    /** 评价人id */
    private String evaluatorId;
    /** 系列 */
    private String series;
    /** du */
    private String du;
    /** 总分 */
    private Double sumScore;
    /** 修改时间 */
    private Date ChangeTime;
    /** 事务维度 */
    private List<PersonalAffairdimension> PersonalAffairdimensionList;
}
2.集合内对象
public class PersonalAffairdimension {
    /** 员工id */
    private String employeeId;
    /** 事务维度ID */
    private Integer transactionDimensionId;
    /** 维度ID */
    private int dimensionId;
    /** 事务名称 */
    private String dimensionName;
    /** 维度分数 */
    private Double score;
    /** 评价 */
    private String evaluation;
    /** 考核点说明 */
    private String explanation;
    /** 最高分数 */
    private Double mark;
}
3.映射文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.jjdd.PersonalCenterMapper">
	<resultMap id="personalHistoryAffairMapper" type="com.jjdd.PersonalHistoryInfo">
		<id column="staffId" property="staffId"></id>
		<id column="affairId" property="affairId"></id>
		<result column="staffName" property="staffName"></result>
		<result column="affairName" property="affairName"></result>
		<result column="evaluatorId" property="evaluatorId"></result>
		<result column="affairId" property="affairId"></result>
		<result column="affairName" property="affairName"></result>
		<result column="series" property="series"></result>
		<result column="du" property="du"></result>
		<result column="changeTime" property="changeTime"></result>
		<result column="sumScore" property="sumScore"></result>
		<collection property="PersonalAffairdimensionList"   ofType="com.jjdd.PersonalAffairdimension">
			<id column="transactionDimensionId" property="transactionDimensionId"></id>
			<result column="dimensionId" property="dimensionId"></result>
			<result column="dimensionName" property="dimensionName"></result>
			<result column="score" property="score"></result>
			<result column="evaluation" property="evaluation"></result>
			<result column="explanation" property="explanation"></result>
			<result column="mark" property="mark"></result>
		</collection>
	</resultMap>
	<select id="queryHistorySolved" parameterType="java.util.Map" resultMap="personalHistoryAffairMapper">
		SELECT
			temp.*, med.explanation,
			med.mark
			FROM
			(
		SELECT
			a.staffId,
			a.staffName,
			a.evaluatorId,
			a.affairId,
			a.affairName,
			a.series,
			a.du,
			b.sumScore,
			b.changeTime,
			b.transactionDimensionId,
			b.dimensionId,
			b.dimensionName,
			b.score,
			b.evaluation
		FROM
		..............
	</select>
</mapper>
4.json结果

​ …


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值