首页>代码>Spring Data JPA+jquery分页展示控件kkpager实现分页查询DEMO>/JPA/src/main/java/com/fendo/service/imp/FamilyServiceImp.java
package com.fendo.service.imp; import java.util.ArrayList; import java.util.List; import java.util.Map; import javax.persistence.criteria.CriteriaBuilder; import javax.persistence.criteria.CriteriaQuery; import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import org.springframework.data.jpa.domain.Specification; import javax.persistence.criteria.Predicate; import javax.persistence.criteria.Root; import javax.transaction.Transactional; import org.springframework.stereotype.Service; import com.fendo.dao.FamilyDao; import com.fendo.entity.FamilyMember; import com.fendo.service.FamilyService; import com.fendo.util.PageUtils; @Service @Transactional public class FamilyServiceImp implements FamilyService{ @Autowired public FamilyDao familyDao; @Override public List<FamilyMember> getAll() throws Exception { return (List<FamilyMember>) this.familyDao.findAll(); } @Override public FamilyMember save(FamilyMember familyMember) throws Exception { return familyDao.save(familyMember); } /** * 查询用户信息列表(支持分页和多条件查询)。 * */ @Override public Map<String, Object> getUserBySearch(Map<String, String> familyArgs, final String sortType) throws Exception { // 获得分页对象pageable,并且在pageable中页码是从0开始,设定按照sortType升序排列 Pageable pageable = PageUtils.buildPageRequest(Integer.valueOf(familyArgs.get("pageNum")), Integer.valueOf(familyArgs.get("pageSize")), sortType); Page<FamilyMember> objPage = familyDao.findAll(new Specification<FamilyMember>() { public Predicate toPredicate(Root<FamilyMember> root, CriteriaQuery<?> query, CriteriaBuilder cb) { List<Predicate> lstPredicates = new ArrayList<Predicate>(); if (StringUtils.isNotBlank(familyArgs.get("FamilyName"))) { lstPredicates.add(cb.like(root.get("familyName").as(String.class), "%" + familyArgs.get("FamilyName") + "%")); } if (StringUtils.isNotBlank(familyArgs.get("Mobile"))) { lstPredicates.add(cb.like(root.get("mobile").as(String.class), "%" + familyArgs.get("Mobile") + "%")); } Predicate[] arrayPredicates = new Predicate[lstPredicates.size()]; return cb.and(lstPredicates.toArray(arrayPredicates)); } }, pageable); return PageUtils.getPageMap(objPage); } }
最近下载更多
小肥羊 LV16
2020年6月19日
a4429674 LV1
2019年11月6日
bdkwxz LV10
2019年9月26日
wangmin123 LV3
2019年2月21日
123456听说 LV10
2019年1月23日
linzehao LV8
2019年1月4日
VICTORYll LV15
2018年12月11日
You123321 LV1
2018年12月6日
a332705639 LV5
2018年10月12日
zhengdh123 LV10
2018年7月3日
最近浏览更多
微信网友_6040315240812544 LV8
2022年10月21日
Altria LV5
2021年8月13日
lianghui LV13
2021年7月7日
阳止初四 LV8
2021年6月6日
徐万强 LV9
2021年6月2日
xuexizhuanyong23 LV16
2021年2月9日
jay1992 LV14
2021年1月6日
xiaobaiyihao
2020年10月27日
暂无贡献等级
hjh844615 LV6
2020年9月29日
小肥羊 LV16
2020年6月19日