美文网首页MyBatis
MyBatis 查询结果未映射到对象

MyBatis 查询结果未映射到对象

作者: 思念_似水流年 | 来源:发表于2021-09-16 13:59 被阅读0次

项目场景:

使用 mybatis + springboot 进行数据库查询操作时,发现返回的 dao 对象一直报空指针

问题描述:

后端 dao 层(service 层调用 dao 层,调用 select 查询方法,select 语句有返回查询结果,但 dao 对象属性一直都是 null)

原因分析:

dao.xml 文件中,查询方法有问题:

<resultMap id="ReportDto" type="com.test.project.report.model.ReportDto">
</resultMap>

实体类如下:

@Data
public class ReportDto {
    private Integer projectId;
    private Integer caseTotalCount;
    private Integer caseExecuteCount;
    private Integer caseSuccessCount;
}

这里指定的返回类型是 ReportDto,实体类中的属性与实际数据库中的字段并不对应,而是与查询语句返回的结果值对应,需要指定字段映射。
修改成如下:

<resultMap id="ReportDto" type="com.test.project.report.model.ReportDto">
    <result column="project_id" property="projectId" />
    <result column="case_total_count" property="caseTotalCount" />
    <result column="case_execute_count" property="caseExecuteCount" />
    <result column="case_success_count" property="caseSuccessCount" />
</resultMap>

再次运行,发现 dao 层返回的对象可以正常映射到数据库的值。

相关文章

网友评论

    本文标题:MyBatis 查询结果未映射到对象

    本文链接:https://www.haomeiwen.com/subject/olmrgltx.html