在人工对 子表进行 添加新字段 操作后,不需要改动后台代码的写法
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>