Long userid = requestInfo.getQuery();
Integer currentPage = requestInfo.getCurrentPage();
Integer pageSize = requestInfo.getPageSize();
currentPage = currentPage * pageSize;//由于MySQL中的limit分页机制:比如“limit 1, 5” ,意思从第一条 往后推算 5 条,所以currentPage页码需要乘上每页条数
StringBuffer buffer = new StringBuffer("");
System.out.println("获取用户ID信息:" + userid);
buffer.append("select * from Rungrouppush r where r.userid = ? and readflag<>'S' order by pushdate desc,pushtime desc");
Query query = this.entityManager.createNativeQuery(buffer.toString());
//设置请求参数
query.setParameter(1, userid);
//将查询结果集转为Map
query.unwrap(SQLQuery.class).setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP);
//设置分页
query.setFirstResult(currentPage);
query.setMaxResults(pageSize);
//获取查询结果集
List<Map<String, Object>> rungroupInfo = query.getResultList();
List<Rungrouppush> rungrouppushList = EntityAndDTO.mapConvertToBean(rungroupInfo, Rungrouppush.class);
package com.sinosoft.common;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.springframework.beans.BeanUtils;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
/**
* 快速的 domain 转换为DTO,
* 将所有Enity 中和DTO中相同属性的值进行转换。
*/
public class EntityAndDTO {
/**
* 泛型的转换接口需要传入需要被转换的对象和转换后的对象的Class
*
* @param t
* @param eClass
* @param <E>
* @param <T>
* @return E
*/
public static <E, T> E convert(T t, Class<E> eClass) {
E e = null;
try {
e = eClass.newInstance();
BeanUtils.copyProperties(t, e);
} catch (InstantiationException e1) {
e1.printStackTrace();
} catch (IllegalAccessException e1) {
e1.printStackTrace();
}
return e;
}
public static <E, T> List<E> convert(List<T> tList, Class<E> eClass) {
List<E> eList = new ArrayList<E>();
for (T t : tList) {
eList.add(convert(t, eClass));
}
return eList;
}
/**
* 将map结果集转换为POJO对象
* @param tList source
* @param eClass class
* @param <E> e
* @param <T> t
* @return t
*/
public static <E, T> List<E> mapConvertToBean(List<T> tList, Class<E> eClass) {
List<E> eList = new ArrayList<E>();
try {
for (T t : tList) {
Map<String, Object> map = (Map<String, Object>) t;
eList.add((E) mapConvertToObject(map, eClass));
}
} catch (Exception e) {
e.printStackTrace();
}
return eList;
}
/**
* 将map转换为POJO对象
* @param map map
* @param beanClass class
* @return r
*/
public static Object mapConvertToObject(Map<String, Object> map, Class beanClass) {
ObjectMapper mapper = new ObjectMapper();
Object pojo = mapper.convertValue(map, beanClass);
return pojo;
}
}