mybatis查询为空的数据,但是在客户端却有数据

Star-lord 发布于 2017/10/16 16:31
阅读 924
收藏 0

【Gopher China万字分享】华为云的Go语言云原生实战经验!>>>

sql语句 

select m.targetId,m.targetName ,q.scoringId,q.scoringExplain,q.scoringPrompt,q.score,q.section,q.firstId,q.scoringGroupId  from  tab_target 
 m  left join   tab_qualitative_scoring q     
on q.targetId=m.targetId  and scoringGroupId='b7d55c2e-24d2-4904-92b3-50b01316f833'   
  where m.firstTypeId = 0 and m.secondTypeId in ('1','2') and m.targetNature='1'  
order by m.treeId,q.section

xml配置文件 :

<resultMap id="TargetResult" type="Target"><!-- 已有实体类 -->
      <id property="targetId" column="targetId"/>
      <result property="targetName" column="targetName"/>
      <result property="treeId" column="treeId"/>
      <result property="fid" column="fid"/>
      <result property="targetFid" column="targetFid"/>
      <result property="targetWeight" column="targetWeight"/>
      <result property="targetExplain" column="targetExplain"/>
      <result property="scoringOption" column="scoringOption"/>
      <result property="firstId" column="firstId"/>
      <result property="secondId" column="secondId"/>
      <result property="lvId" column="lvId"/>
      <result property="targetUrl" column="targetUrl"/>
      <result property="optionType" column="optionType"/>
      <result property="episodeTypeId" column="episodeTypeId"/>
      <result property="targetNature" column="targetNature"/>
      <result property="accessmentMode" column="accessmentMode"/>
      <association property="targetFirstType" column="firstTypeId" javaType="TargetFirstType" resultMap="TargetFirstTypeResult"/>
      <association property="targetSecondType" column="secondTypeId" javaType="TargetSecondType" resultMap="TargetSecondTypeResult"/>
    </resultMap>

 

<resultMap id="QualitativeScoringResult" type="QualitativeScoring">
      <id property="scoringId" column="scoringId"/>
      <result property="section" column="section"/>
      <result property="score" column="score"/>
      <result property="scoringExplain" column="scoringExplain"/>
      <result property="scoringPrompt" column="scoringPrompt"/>
      <result property="firstId" column="firstId"/>
      <association property="target" column="targetId" javaType="Target" resultMap="TargetResult"/>
      <association property="scoringGroup" column="scoringGroupId" javaType="ScoringGroup" resultMap="ScoringGroupResult"/>
    </resultMap>

 

 

<select id="queryQualitativeScoring" parameterType="String" resultMap="QualitativeScoringResult" >
        ${_parameter}
    </select>

 

那个_parameter就是整个sql语句。

客户端查询

程序结果显示

 

就是那些为空的没有办法显示出来,但是却最后一个显示出来了

 

请问大神们 这是因为什么原因。我将返回结果改为 resultType=“map”总数显示正常,但是如果用resultMap显示不正常,mybatis查询就少了好多条。客户端查询是218条  mybatis查询是205条

 

 

 

加载中
0
O
OSC_BOaxNk
代码没有看,太乱了。不过根据你最后一个描述根据经验应该是你的实体类和sql映射文件中resultMap节点中的映射关系出错了吧,(缺少映射关系)
Star-lord
Star-lord
映射关系是没有错的
0
AlkTTT
AlkTTT

应该是resultMap的映射出问题了吧,看你代码是第二个map是嵌套第一个。第一个Map又嵌套其他的Map。你放参数都放到一个Map里试试看

AlkTTT
AlkTTT
回复 @Star-lord : 那就没什么问题了吧,去查下association 是否允许多重嵌套。
Star-lord
Star-lord
放在一个MAP里面肯定是可以的。
0
warabe
warabe
mybatis会自动排除重复记录
返回顶部
顶部