zoukankan      html  css  js  c++  java
  • 动态查询 母表和子表的 一种方法

    在人工对 子表进行 添加新字段 操作后,不需要改动后台代码的写法

    mybatis层:

    <select id="CSAlandTDlistPage" parameterType="page" resultType="pd"
    useCache="false">
    SELECT
       b.LandTypeID,
       a.LandID,
      b.LandTypeName,
      a.LandName,
      a.StatusID,
      c.StatusName,
      a.FarmID,
      a.LandCode
    <if test="pd.ParaIDs !=null">
    <foreach item="item" index="index" collection="pd.ParaIDs">
      ,( SELECT
      ParaValue
      FROM
      farm_land_landdetail
      WHERE
      LandID = a.LandID AND ParaID = '${item}'
      ) AS ${item}
    </foreach>
    </if>
      FROM farm_land_landdef a,
      farm_land_typedef b,
      farm_land_statusdef c
      WHERE
      a.LandType = b.LandTypeID
      and a.StatusID = c.StatusID
    <if test = "pd.FarmID != null">
      AND
      a.FarmID = ${pd.FarmID} order by LandID
    </if>
    </select>

     

    control层:

    List<String> ParaIDs=csalandTDService.getlandParadef(pd);
    pd.put("ParaIDs", ParaIDs);
    System.out.println("pd="+pd);
    page.setPd(pd);
    List<PageData> CSAlandTDList=csalandTDService.CSAlandTDlistPage(page);

    获取所有子表的字段:

    <select id="findAllParaID" parameterType="pd" resultType="String"
    useCache="false">
    SELECT
    paraID
    from
    farm_land_paradef
    </select>

  • 相关阅读:
    markdown keynote
    pyecharts
    运行成功
    python发邮件3
    python发邮件2
    python发邮件1
    python发邮件
    python中的编码声明
    auther tonyxiao
    111
  • 原文地址:https://www.cnblogs.com/jiangyi666/p/6221563.html
Copyright © 2011-2022 走看看