防止自己以后忘记,在这里把代码贴出来,前台用的easyUI,后台用的ssh,希望可以和大家一起学习进步
首先前台代码
$("#lsdata1").datagrid( {
url : "<%=basePath%>jylsJk",//加载的URL
pagination : true,
pageSize:10,
rownumbers:true,
pageList:[10,20,30],
datatype : 'json',
columns : [ [ //每个列具体内容
{
field : 'serial',
title : '流水号',
width : 200
}, {
field : 'name',
title : '商品名称',
width : 200
}, {
field : 'unitPrice',
title : '单价(元)',
width : 120
}, {
field : 'weight',
title : '重量(kg)',
width : 120
}, {
field : 'count',
title : '金额(元)',
width : 120
}, {
field : 'transType',
title : '支付方式',
width : 120
}, {
field : 'transTime',
title : '交易时间',
width : 180
} ] ]
});
后台Ctroller
@RequestMapping("jylsJk")//监控交易流水
@ResponseBody
public Datagrid jylsJk(HttpServletRequest request,String page,String rows){
Datagrid datagrid = new Datagrid();
Long value;
int total;
int page1=Integer.valueOf(page);
int rows1 =Integer.valueOf(rows);
int begin = (page1-1)*rows1;
int end = page1*rows1;
User user = (User) request.getSession().getAttribute("user");
String qgxzqh = user.getQgxzqh();
String scbh = user.getScbh();
List<Jyls> jylsList;
String sql=null;
if(scbh==null||scbh.equals("")){
if(qgxzqh.substring(2,6).equals("0000")){
sql="from Jyls where serial like '"+qgxzqh.substring(0,2)+"%' order by transtime desc";
total = Integer.parseInt(baseService.findObject("select count(*) from Jyls where serial like '"+qgxzqh.substring(0,2)+"%'")+"");
jylsList=baseService.findByPager(sql, begin, end);
}else if(qgxzqh.substring(4,6).equals("00")){
total = Integer.parseInt(baseService.findObject("select count(*) from Jyls where serial like '"+qgxzqh.substring(0,4)+"%'")+"");
sql="from Jyls where serial like '"+qgxzqh.substring(0,4)+"%' order by transtime desc";
jylsList=baseService.findByPager(sql, begin, end);
}else{
total = Integer.parseInt(baseService.findObject("select count(*) from Jyls where serial like '"+qgxzqh+"%'")+"");
sql="from Jyls where serial like '"+qgxzqh+"%' order by transtime desc";
jylsList=baseService.findByPager(sql, begin, end);
}
}else{
// spService.findObject("select count(*) from Sp where scbh like '"+likeStr+"%'")+""
total = Integer.parseInt(baseService.findObject("select count(*) from Jyls where serial like '"+scbh.substring(0, 10)+"%'")+"");
sql="from Jyls where serial like '"+scbh.substring(0, 10)+"%' order by transtime desc";
jylsList=baseService.findByPager(sql, begin, end);
}
// jylsList = baseService.findAll("from Jyls order by transtime desc");
List<JylsVo> voList = new ArrayList();
for(Jyls jyls:jylsList){
JylsVo vo = new JylsVo();
vo.setCount(jyls.getCount()+"");
vo.setName(jyls.getName());
vo.setSerial(jyls.getSerial());
vo.setTransTime(jyls.getTransTime());
Trans trans = (Trans)baseService.findById(Trans.class, jyls.getTransType()+"");
vo.setTransType(trans.getDefine()+"");
vo.setUnitPrice(jyls.getUnitPrice()+"");
vo.setWeight(jyls.getWeight()+"");
voList.add(vo);
}
datagrid.setRows(voList);
datagrid.setTotal(total);
System.out.println("========================================"+jylsList.size());
return datagrid;
}
baseService中的方法
public interface BaseService<T> {
List<T> findAll(String sql);
List<T> findByPager(String sql,int begin,int end);//此方法为分页查血
Object findObject(String sql);
Object findById(Class<T> c,int id);
Object findById(Class<T> c,String id);
boolean save(Object obj);
Object update(T obj);
boolean delete(T obj);
}
baseService实现类
public List<T> findByPager(String sql, int begin, int end) {
// TODO Auto-generated method stub
return dao.findByPager(sql, begin, end);
}
dao层
public interface BaseDAO<T> {
List<T> findAll(String sql);
Object findObject(String sql);
List<T> findByPager(String sql,int begin,int end);
Object findById(Class<T> c,int id);
Object findById(Class<T> c,String id);
boolean save(Object obj);
Object update(T obj);
boolean delete(T obj);
boolean flush();
}
dao实现类
public List<T> findByPager(String sql, int begin, int end) {
// TODO Auto-generated method stub
try{
Query query = em.createQuery(sql);
query.setFirstResult(begin);
query.setMaxResults(end);
return query.getResultList();
}catch(Exception e){
e.printStackTrace();
}
return null;
}
最后返回的json类型对象{total:信息数量,row:{所有对象}}