datagrid 查询关联sql

1.A表字段:id,name;B表字段:id,name,fid(A表外键),现查询A表和B表的所有数据并且查询条件A,B都有,在前台页面list显示

2.后台方法:

@RequestMapping(params = "datagrid_zh")
public void datagrid_zh(CarRouteEntity ldcHandbookOrder,HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) {
CriteriaQuery cq = new CriteriaQuery(CarRouteEntity.class, dataGrid);
//查询条件组装器
org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq, ldcHandbookOrder);
try{
//自定义追加查询条件
}catch (Exception e) {
throw new BusinessException(e.getMessage());
}
cq.add();
String tiaojian="";
String name=request.getParameter("name");   

if(StringUtils.isNotEmpty(name)) {
tiaojian+=" and a.name>= '"+name+"'";

}  
String sql="select a.id,a.name,b.name as bname from Aa LEFT JOIN B b on a.id=b.fid where 1=1 "+tiaojian;
List> map=jdbcTemplate.queryForList(sql);
dataGrid.setTotal(map.size());
List> maplist=systemService.findForJdbc(sql +" limit "+(dataGrid.getPage()-1)*dataGrid.getRows()+","+dataGrid.getRows(), null);

--oracle用法
//List> maplist=systemService.findForJdbc(sql +" and  ROWNUM>="+(dataGrid.getPage()-1)*dataGrid.getRows()+" and ROWNUM<"+dataGrid.getRows(), null);

dataGrid.setResults(maplist);
//下面合计项 orderBizhi放在该字段下面

dataGrid.setFooter("orderTax,orderse,orderBizhi:合计");
TagUtil.datagrid(response, dataGrid);
}

3.前台页面






  

你可能感兴趣的:(datagrid 查询关联sql)