Spring mvc 联合查询+分页+条件搜索+页面局部刷新

Spring mvc+Hibernate 实现后台数据查询分页

jquery+jsp实现页面局部刷新

框架已经搭好 

一、数据联合查询

联合查询的表结构应相似,利用表别名和构照的联合信息表存储查询结果

1.定义联合查询的实体表UnionStudent.java

class UnionStudent{

private String name;

private String sex;

getter()..

setter()..

}

2.定义分页类PageConfig.java

class PageConfig{

private static int pageSize=10;//每页显示10条记录

private static int pageNo=1;//其实页为1

}

3.方法实现类  UnionStudentServiceImpl.java

@service

@Transactional(rollBackFor=RuntimeException.class)

class UnionStudentServiceImpl implments UnionStudentService{

@Autowired

private UserDao userDao;

/**

*分页方法

*pageConfig 分页类

*sex 搜索条件

*/

@Override

public List<UnionStudent> getInfoForPage(PageConfig pageConfig,String sex){
StringBuffer sBuffer=new StringBuffer();
String sql1="select t1.studentName as name,t2.studentSex as sex from student1 t1 ";
String sql1="select t2.studentName as name,t2.studentSex as sex from student2 t2 ";
String sql1="select t3.studentName as name,t3.studentSex as sex from student3 t3 ";
String conn="union all  ";
if(sex!=null){
sBuffer.append("select * from  ( ").append(sql1).append(conn).append(sql2).append(conn).append(sql3).append( " )   where sex='"+sex+"' ");
}else{
sBuffer.append(sql1).append(conn).append(sql2).append(conn).append(sql3);
}
Query query = userDao
.createSQLQuery(sBuffer.toString())
.addScalar("name", StringType.INSTANCE)
.addScalar("sex ", StringType.INSTANCE)
.setResultTransformer(
Transformers.aliasToBean(UnionStudent.class));
query.setFirstResult((pageConfig.pageNo - 1) * pageConfig.pageSize);
query.setMaxResults(pageConfig.pageSize);
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值