getByProperty 查询优化

yun-zuoyi
wei.peng 5 years ago
parent ef9c029bc0
commit 25b2109144

@ -31,6 +31,24 @@ public class Pager {
@ApiParam("翻页操作")
private String pageMethod;
private static final Pager min;
private static final Pager max;
private static final Pager defaultPager;
static {
min = new Pager();
min.setCurrentPage(1);
min.setPageSize(10);
max = new Pager();
max.setCurrentPage(1);
max.setPageSize(65535);
defaultPager = new Pager();
defaultPager.setCurrentPage(1);
defaultPager.setPageSize(100);
}
public Pager() {
}
@ -231,6 +249,30 @@ public class Pager {
return currentPage > 1;
}
/**
*
* @return
*/
public static Pager defaultMinPager(){
return min;
}
/**
*
* @return
*/
public static Pager defaultMaxPager(){
return max;
}
/**
*
* @return
*/
public static Pager defaultPager(){
return defaultPager;
}
@Override
public String toString() {
return "Pager{" +

@ -46,8 +46,6 @@ public class BaseRepositoryImpl<T, ID extends Serializable> extends SimpleJpaRep
private Class<T> persistentClass;
private SnowflakeIdMaker snowflakeIdMaker;
/* 默认查询数据条数 */
private static final Pager DEFAULT_PAGER = new Pager(0,10);
public BaseRepositoryImpl(Class<T> clz, EntityManager em, SnowflakeIdMaker snowflakeIdMaker) {
super(clz, em);
@ -509,7 +507,7 @@ public class BaseRepositoryImpl<T, ID extends Serializable> extends SimpleJpaRep
@Override
public T getByProperty(DdlPackBean packBean) {
try {
List<T> list = findByHqlWherePage(packBean,DEFAULT_PAGER);
List<T> list = findByHqlWherePage(packBean,Pager.defaultMinPager());
return list != null && list.size() != 0 ? list.get(0) : null;
}catch(NoResultException ne){
LOGGER.error("数据不存在DdlPackBean{}",packBean);
@ -522,17 +520,17 @@ public class BaseRepositoryImpl<T, ID extends Serializable> extends SimpleJpaRep
@Override
public T getByProperty(String propertyName, Object value) {
return getByPropertyPager(new String[]{propertyName}, new Object[]{value}, DEFAULT_PAGER);
return getByPropertyPager(new String[]{propertyName}, new Object[]{value}, Pager.defaultMinPager());
}
@Override
public T getByProperty(String[] propertyNames, Object[] values) {
return getByPropertyPager(propertyNames, values, DEFAULT_PAGER);
return getByPropertyPager(propertyNames, values, Pager.defaultMinPager());
}
@Override
public T getByPropertyPager(String[] propertyNames, Object[] values, Pager pager) {
pager = pager == null ? DEFAULT_PAGER: pager;
pager = pager == null ? Pager.defaultMinPager(): pager;
if(propertyNames.length != values.length){
throw new IllegalArgumentException("参数名的数量和参数值不匹配!propertyNames:" + propertyNames.length + ",values:" + values.length);

Loading…
Cancel
Save