mybatis查询结果返回一对多关系

项目中查询需要,返回结果一对多关系

在对应的mapper的xml文件中设置一下resultMap

 <resultMap id="crossSignalPlanInfoMap" type="com.ehl.traffic.scene.management.model.vo.CrossSignalPlanVo">
    <id column="ID" jdbcType="VARCHAR" property="id" />
    <result column="PLAN_ID" jdbcType="VARCHAR" property="planId" />
    <result column="CYCLE" jdbcType="INTEGER" property="cycle" />
    <result column="OFFSET" jdbcType="INTEGER" property="offset" />
    <result column="TIMING" jdbcType="VARCHAR" property="timing" />
    <result column="CROSS_ID" jdbcType="VARCHAR" property="crossId" />
    <result column="PLAN_TYPE" jdbcType="VARCHAR" property="planType" />
    <collection ofType="com.ehl.traffic.scene.management.model.vo.CrossSignalInfoVo" property="crossSignalInfoList">
      <result column="DIRECTION" jdbcType="INTEGER" property="direction" />
      <result column="GREEN" jdbcType="INTEGER" property="green" />
      <result column="YELLOW" jdbcType="INTEGER" property="yellow" />
      <result column="RED" jdbcType="INTEGER" property="red" />
      <result column="PHASE_ORDER" jdbcType="INTEGER" property="phaseOrder" />
      <result column="SIGNAL_TYPE" jdbcType="VARCHAR" property="signalType" />
      <result column="GREEN_NEW" jdbcType="INTEGER" property="greenNew" />
      <result column="YELLOW_NEW" jdbcType="INTEGER" property="yellowNew" />
      <result column="RED_NEW" jdbcType="INTEGER" property="redNew" />
    </collection>
  </resultMap>

sql中这样写即可

<select id="getSignalInfo" parameterType="com.ehl.traffic.scene.management.model.po.CrossSignalPlan" resultMap="crossSignalPlanInfoMap">
    SELECT
    csi.DIRECTION,
    csi.GREEN,
    csi.YELLOW,
    csi.RED,
    csi.PHASE_ORDER,
    csi.SIGNAL_TYPE,
    csi.GREEN_NEW,
    csi.YELLOW_NEW,
    csi.RED_NEW,
    csp.ID,
    csp.PLAN_ID,
    csp.CYCLE,
    csp.OFFSET,
    csp.TIMING,
    csp.CROSS_ID,
    csp.PLAN_TYPE
    FROM
    CROSS_SIGNAL_INFO  csi,CROSS_SIGNAL_PLAN csp
    WHERE
    csi.PLAN_ID =  csp.PLAN_ID
    AND csi.PLAN_ID In ( SELECT PLAN_ID FROM CROSS_SIGNAL_PLAN WHERE
    1=1
  

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值