一、问题描述
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>
修改后查询成功