_遇见_ 2017-04-04 12:27 采纳率: 0%
浏览 2014

mybatis返回resultmap

mybatis中返回resultmap,该map是一个javabean,这个Javabean同时继承了另外一个bean,怎么实现?
要求返回的既有子类中的属性,又有父类中的属性。
我是将父类封装成一个resultmap,子类也封装为一个resultmap,继承父类的resultmap。返回值是子类的resultmap。
其中写的sql语句一直报错“未明确定义列”。我已经试过用别名了。

    子类的resultmap
     <resultMap id="result_host" extends="result_scan" type="com.cncert.satp.bean.HostScanResultBean">
    <id column="host_result_id" property="host_result_id"/>
    <result column="host_ip" property="host_ip"/>
    <result column="host_port" property="host_port"/>
    <result column="vulnerability" property="vulnerability"/>
    <result column="tool_name" property="tool_name"/>
    <result column="tool_task_id" property="tool_task_id"/>
    <result column="result_id" property="result_id"/>
    <result column="gmt_create" property="gmt_create"/>
    <result column="gmt_modified" property="gmt_modified"/>
</resultMap>

父类的resultmap  
    <resultMap id="result_scan" type="com.cncert.satp.bean.ScanResultBean">
    <id column="result_id" property="resultid"/>
    <result column="host_ip" property="resultsource"/>
    <result column="create_time" property="createdate"/>
    <result column="reliability" property="credibility"/>
    <association property="task" javaType="com.cncert.satp.bean.TaskBean">
        <id column="task_id" property="taskid"></id>
        <result column="task_no" property="taskno"></result>
        <result column="task_resource" property="taskresource"></result>
        <result column="strategy_id" property="strategyid"></result>
        <result column="task_type" property="tasktype"></result>
        <result column="task_description" property="taskdescription"></result>
        <result column="task_status" property="taskstatus"></result>
        <result column="start_time" property="starttime"></result>
        <result column="finish_time" property="finishtime"></result>
        <result column="tool_name" property="toolname"></result>
        <result column="create_time" property="createtime"></result>
        <result column="gmt_create" property="gmt_create"></result>
        <result column="gmt_modified" property="gmt_modified"></result>
    </association>
</resultMap>
    <sql id="result_sql">
   result_id,task_id,reliability,result_status,create_time

<select id="getCodeResult" parameterType="int" resultMap="result_code">
  select <include refid="result_sql"/>,source_result.*
        from source_result,scan_result
        where scan_result.result_id=source_result.result_id
        and scan_result.task_id=#{id}
    </select>
  • 写回答

2条回答 默认 最新

  • mmd0308 2017-04-04 12:42
    关注

    直接使用子类实例就行呀!

    评论

报告相同问题?

悬赏问题

  • ¥15 Arcgis相交分析无法绘制一个或多个图形
  • ¥15 seatunnel-web使用SQL组件时候后台报错,无法找到表格
  • ¥15 fpga自动售货机数码管(相关搜索:数字时钟)
  • ¥15 用前端向数据库插入数据,通过debug发现数据能走到后端,但是放行之后就会提示错误
  • ¥30 3天&7天&&15天&销量如何统计同一行
  • ¥30 帮我写一段可以读取LD2450数据并计算距离的Arduino代码
  • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型
  • ¥15 vs2019中数据导出问题
  • ¥20 云服务Linux系统TCP-MSS值修改?
  • ¥20 关于#单片机#的问题:项目:使用模拟iic与ov2640通讯环境:F407问题:读取的ID号总是0xff,自己调了调发现在读从机数据时,SDA线上并未有信号变化(语言-c语言)