MyBatis的resultMap

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>

上一篇:MyBatis框架(一)MyBatis基础,mybatis架构梳理


下一篇:The content of element type "resultMap"