/**
* 分页查询
* @return
*/
public List<User> queryPage(int pageNo, int pageSize) {
//排序
List<Sort.Order> olist = new ArrayList( );
olist.add( new Sort.Order( Sort.Direction.ASC,"id" ) );
Sort sort = new Sort( olist );
//分页
PageRequest request = new PageRequest(pageNo-1,pageSize , sort);
List<UserEntity> list = userJpa.findAll(request).getContent();
List<User> list1 = new ArrayList( );
Iterator<UserEntity> iterator = list.iterator();
while (iterator.hasNext()) {
UserEntity userEntity = iterator.next();
User user = new User( );
BeanUtils.copyProperties( userEntity,user );
list1.add( user );
}
return list1;
}
/**
* 按条件查询数据
* @param entity
* @return
*/
private Specification<UserEntity> where(final UserEntity entity) {
return new Specification<UserEntity>() {
@Override
public Predicate toPredicate(Root<UserEntity> root, CriteriaQuery<?> query, CriteriaBuilder cb) {
List<Predicate> list = new ArrayList<Predicate>();
if (null != entity.getId()){
list.add(cb.equal(root.get("id").as(Long.class), entity.getId()));
}
return query.where(list.toArray(new Predicate[list.size()])).getRestriction();
}
};
/**
* 多条件分页查询
* @return
*/
public Page<UserEntity> findByAllUser(int pageNo, int pageSize) {
//排序
List<Sort.Order> olist = new ArrayList( );
olist.add( new Sort.Order( Sort.Direction.ASC,"id" ) );
Sort sort = new Sort( olist );
//分页
PageRequest pageRequest = new PageRequest( pageNo-1,pageSize,sort );
//多条件查询
UserEntity userEntity = new UserEntity( );
userEntity.setId( 3L );
userEntity.setName( "sd" );
Page<UserEntity> u = userJpa.findAll(where(userEntity ),pageRequest);
return u;
}
/**
* 按多条件查询数据
* @param entity
* @return
*/
private Specification<UserEntity> where(final UserEntity entity) {
return new Specification<UserEntity>() {
@Override
public Predicate toPredicate(Root<UserEntity> root, CriteriaQuery<?> query, CriteriaBuilder cb) {
List<Predicate> list = new ArrayList<Predicate>();
if (null != entity.getId()){
list.add(cb.equal(root.get("id").as(Long.class), entity.getId()));
}
if (null != entity.getName()) {
list.add(cb.equal(root.get("name").as(String.class), entity.getName()));
}
return query.where(list.toArray(new Predicate[list.size()])).getRestriction();
}
};
}
}