springboot + Mybatis puls 查询返回null,但是sql查询有数据

情况

springboot + Mybatis puls项目,使用mp生成代码工具生成的mapper、mapperXML、entity等代码。

自己再mapperXML写的sql查询对象,结果为null。

原因

使用mp的生成代码类生成的mapperXML中的Base_Column_List有别称,但是我查询返回结果用的BaseResultMap。mapperXML部门代码如下,也是出问题的部分。因为BaseResultMap中已经制定了字段名称与实体属性之间的对应,查询的字段再用as别名查询时是找不到BaseResultMap中的关联关系的。个人见解,如有好的理解请留言告知。

 <!-- 通用查询映射结果 -->
 	 <resultMap id="BaseResultMap" type="com.data.refleshdata.entity.RAllTrafficDay">
        <id column="ALL_TRAFFIC_DAY_ID" property="allTrafficDayId" />
        <result column="INBOUND_TRAFFIC" property="inboundTraffic" />
        <result column="OUTBOUND_TRAFFIC" property="outboundTraffic" />
        <result column="CREATE_TIME" property="createTime" />
        <result column="TRAFFIC_DAY" property="trafficDay" />
        <result column="TOTAL_TRAFIC" property="totalTrafic" />
    </resultMap>
    <!-- 通用查询结果列 -->
     <sql id="Base_Column_List">
        ALL_TRAFFIC_DAY_ID AS allTrafficDayId, INBOUND_TRAFFIC AS inboundTraffic, OUTBOUND_TRAFFIC AS outboundTraffic, CREATE_TIME AS createTime, TRAFFIC_DAY AS trafficDay, TOTAL_TRAFIC AS totalTrafic
    </sql>

解决方案

通用查询列中的字段去掉别名,如下

<sql id="Base_Column_List" >
    ALL_TRAFFIC_DAY_ID, INBOUND_TRAFFIC, OUTBOUND_TRAFFIC, CREATE_TIME, TRAFFIC_DAY, 
    TOTAL_TRAFIC
  </sql>
发布了19 篇原创文章 · 获赞 15 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/minion_banana/article/details/83011044