0. 把需要级联显示的属性在实体类中定义属性并有get set方法。
1.dao.xml 写sql语句
<select id="selectBusinessSkuById" resultType="com.jeesite.modules.businesssku.entity.ZepodBusinessSku"> SELECT zbs.id,zbs.sku_name,zbs.sku_norm,zbs.sku_image,zbs.sku_price,zbs.sku_info,zbs.disabled_status,zbs.del_flag,zbs.create_date,zb.business_name as businessName,zbs.create_date FROM zepod_business_sku zbs LEFT JOIN zepod_business zb ON zbs.business_id = zb.id WHERE zbs.id = #{id} </select>
2.Controller层修改 listDate方法, 就是把查到的前台页面需要显示的数据传给list,其他的jeesite帮忙处理了。
还需要注入其他用到的层
@Autowired
private ZepodBusinessSkuService zepodBusinessSkuService;
@Autowired
private ZepodBusinessService zepodBusinessService;
/**
* 查询列表数据
*/
@RequiresPermissions("businesssku:zepodBusinessSku:view")
@RequestMapping(value = "listData")
@ResponseBody
public Page<ZepodBusinessSku> listData(ZepodBusinessSku zepodBusinessSku, HttpServletRequest request, HttpServletResponse response) {
Page<ZepodBusinessSku> page = zepodBusinessSkuService.findPage(new Page<ZepodBusinessSku>(request, response), zepodBusinessSku);
List<ZepodBusinessSku> list = page.getList();
//展示id对应名称
for(ZepodBusinessSku z:list){
ZepodBusinessSku zbs = zepodBusinessSkuService.selectBusinessSkuById(z.getId());
z.setBusinessName(zbs.getBusinessName());
}
return page;
}
3.前台页面修改,name属性改为自己需要显示的
{header:'${text('商家名称')}', name:'businessName', index:'a.business_id', width:150, align:"left"},
左关联查询, 上面的修改版
1.
1.1实体类中写
//左连接,查询用户名称头像,名称模糊查询,并按时间倒叙排列
joinTable = {@JoinTable(type = Type.LEFT_JOIN, entity = ZepodUser.class, alias = "c",
on = "c.id = a.user_id", attrName = "zuser",
columns = {
@Column(name="nick_name", attrName="nickName好像不用显示", label="用户名称" ,queryType=QueryType.LIKE),
@Column(name="head_face", attrName="headFace", label="用户头像"),
})}, orderBy="a.create-date DESC"
1.2 写user属性 getset方法
private ZepodUser zuser;
3.list页面 改name属性
{header:'${text('用户名称')}', name:'zuser.nickName', index:'a.zuser', width:150, align:"left"},
{header:'${text('用户头像')}', name:'zuser.headFace', index:'a.zuser', width:150, align:"left"},