mybaits的xml文件中,写的是SQL语句,查询语句中写的字段,才会被查出来,没写的字段,不会返回。对应到entity中,对应字段的值就是null。这和resultMap中写的对应关系,其实无关。
建议:resultMap中可以把所有的字段对应关系都写出来。
如下面代码,只查询了 "client_id" 和 "sn" 两个字段,所以,TbCertificateEntity中就只有这两个字段是有值的,其他字段都是null。但是我在resultMap中可以把对应关系写好,以后增加查询其他字段,就不用修改resultMap了。
<!-- 数字证书信息Map -->
<resultMap type="com.***.web.***.entity.TbCertificateEntity" id="certificateMap">
<result property="clientId" column="CLIENT_ID"/>
<result property="sn" column="SN"/>
<result property="effectTime" column="EFFECT_TIME"/>
<result property="createTime" column="CREATE_TIME"/>
</resultMap>
<select id="listCertificates" resultMap="certificateMap">
SELECT client_id,
sn
FROM tb_certificate
WHERE client_id = 21
AND is_valid = 1
ORDER BY create_time DESC
</select>