工作中遇到这么一个问题,嵌套查询,返回json的时候,作为属性,deviceFields是一个device中的一个对象属性,在json返回的时候想要得到的应该是deviceFields:{ 具体属性}

但是实际上我发现我返回的确实  deviceFields:[{ 具体属性}],多了个中括号

这明显是把查询的结果作为了一个集合,而没有映射为一个对象,仔细查看,原来是在association上应该添加上javaType的对应的对象路径,而我把这个给漏掉了。下面是正确的

<resultMap type="map" id="getDeviceListResult">

<result property="deviceId" column="deviceId"/>
  <association property="deviceFields" column="deviceId" javaType="com.xxx.cloud.entity.DeviceFields" select="com.xxx.cloud.dao.DeviceFieldsMapper.selectByDeviceId"></association>
  <collection property="pointDataList"  column="deviceId" select="selectxxxDevicePointDataList"></collection>
  </resultMap>

<select id="getDeviceListByUserId" parameterType="map" resultMap="getDeviceListResult">

SELECT d.id deviceId,d.device_no deviceNo,d.gateway_uid uid,d.ext_addr extAddr,d.endpoint 'endpoint',d.device_name deviceName,
  device_type 'type',d.sub_device_type subType,d.product_id productId,d.company_id companyId,d.model model,d.version 'version',
  d.start_time startTime,d.del_flag delFlag 
  FROM d_device d, d_device_fields f,d_device_user_bind dub
  WHERE f.del_flag=0
  AND d.del_flag=0
  AND dub.del_flag=0
  AND d.company_id=#{companyId} 
  AND d.`product_id`=#{productId}
  AND d.id=f.device_id
  AND d.gateway_uid = dub.uid
  AND dub.user_id=#{userId}
  <if test="status != null">
      AND f.`online`=#{status}
      </if>
      <if test="rent != null and rent == 0">
      AND f.`rent` IS NULL
      </if>
      <if test="rent != null and rent != 0">
      AND f.`rent` = #{rent}
      </if>
      <if test="content != null">
      AND ( d.device_name like #{content}  OR d.model like #{content})
      </if>
            <if test="pointStatus != null">
      AND EXISTS (
SELECT 1
FROM d_device_point_data dpd
WHERE dpd.device_id = d.id
      AND dpd.del_flag = 0
      AND dpd.point_index = 23
      AND dpd.value = #{pointStatus}
)
      </if> order by f.online desc
  </select>

最新文章

  1. IIS访问共享文件详解
  2. Java程序运行时,数据都保存到什么地方?
  3. java web项目导入到eclipse中变成了java项目的一种情况的解决办法
  4. 解决js(ajax)提交后端的“ _xsrf&#39; argument missing from POST” 的错误
  5. UVA 10474 大理石在哪 lower_bound
  6. Slider 滑动条效果
  7. POJ1276 - Cash Machine(多重背包)
  8. Delphi Dcp 和BPL的解释
  9. windows bat脚本编写
  10. HTML 5 &lt;details&gt; 标签
  11. 製程能力介紹(SPC introduction) ─ Ck之製程能力解釋
  12. HDU 1361 Parencodings(栈)
  13. 201521123096《Java程序设计》第七周学习总结
  14. name &#39;reload&#39; is not defined解决方法
  15. C#Razor模板引擎简单使用
  16. @ResponseBody注解和@RequestBody注解
  17. sql里的正则表达式
  18. MathWorks.MATLAB.NET.Arrays.MWArray”的类型初始值设定项引发异常 解决方法
  19. 关于C中I/O缓冲区的解释
  20. HDU - 1520 树形DP入门题

热门文章

  1. jquery对象和dom原生获取的对象是不同的。
  2. Android Studio的HAXM不支持虚拟机
  3. Py西游攻关之基础数据类型(一)-数字字符串字节布尔
  4. 118、Java中String类之取字符串长度
  5. MySQL定时任务event,储存过程(定时删除指定时间前90天指定表的数据)
  6. C语言动静态链接库使用(笔记)
  7. system调用
  8. 吴裕雄 Bootstrap 前端框架开发——Bootstrap 表格:上下文类
  9. B. Uniqueness 删除最小区间内的元素使得剩余元素唯一
  10. 浏览器之本地缓存存储 localStorage 和 sessionStorage的区别以及用法