递归查询地区数据
表结构:

其中,pid是父ID
mapper:
<select id="selectCalcAreaByPid" resultType="com.jydw.jysp_xsjc.entity.calc.CalcArea"> select * from calc_area <where> <if test="pid != null"> pid = #{pid} </if> </where> </select>
service:
@Autowired private CalcAreaDao calcAreaDao; @Override public List<CalcArea> calcAreaTree() { List<CalcArea> calcAreaList; // 查询安徽省的数据 calcAreaList = calcAreaDao.selectCalcAreaByPid(Constants.CALC_AREA_ANHUI); for (CalcArea areaQueryVo : calcAreaList) { List<CalcArea> tempList = calcAreaDao.selectCalcAreaByPid(areaQueryVo.getId()); recurArea(tempList); areaQueryVo.setCalcAreaVos(tempList); } return calcAreaList; } /** * 递归调用 * @param calcAreaList */ public void recurArea(List<CalcArea> calcAreaList) { List<CalcArea> calcAreas; for (CalcArea calcArea : calcAreaList) { calcAreas = calcAreaDao.selectCalcAreaByPid(calcArea.getId()); if (calcAreas.size() > 0) { calcArea.setCalcAreaVos(calcAreas); recurArea(calcAreas); } } }
以上;

浙公网安备 33010602011771号