java在mysql中查询内容无法塞入实体类中,报错 all elements are null

一、问题描述

java项目中整体配置了mysql的驼峰式字段匹配规则。

mybatis.configuration.map-underscore-to-camel-case=true

由于项目需求,需要返回字段为file_id,file_url,并且放入实体类中,实体类如下:

private Integer file_id;//文件id
private String file_url;//文件路径

sql如下:

<select id="selectFileIdListByClass" resultMap="dto.face.dto">
		select a.file_id,a.file_url from
		from file_info a
</select>

在java查询过程中,集合显示长度为3,但是内容为 all elements are null

在这里插入图片描述

二、解决方案

思路:创建一个结果映射,指明sql中的字段映射到实体类的字段属性,在查询中使用这个结果映射

步骤
创建名为 “BatchPhotoCompareDtoMap” 的结果映射

<resultMap id="BatchPhotoCompareDtoMap" type="dto.face.dto">
    <result column="file_id" jdbcType="INTEGER" property="file_id"/>
    <result column="file_url" jdbcType="VARCHAR" property="file_url"/>
</resultMap>

使用这个映射,原来的sql改为如下:

<select id="selectFileIdListByClass" resultMap="BatchPhotoCompareDtoMap">
		select a.file_id,a.file_url from
		from file_info a
</select>

修改后查询成功
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值