From 7740503a979cdeb1687a3f28d87812abf19cadb3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=AE=B8=E5=BF=83=E6=B4=81?= Date: Wed, 28 Aug 2019 15:52:52 +0800 Subject: [PATCH] =?UTF-8?q?getByProperty=E6=9F=A5=E8=AF=A2=E5=88=B0?= =?UTF-8?q?=E5=A4=9A=E6=9D=A1=E6=95=B0=E6=8D=AE=E6=8A=9B=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pojo/base/jpa/daoimpl/BaseRepositoryImpl.java | 532 +++++++++++---------- 1 file changed, 268 insertions(+), 264 deletions(-) diff --git a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/jpa/daoimpl/BaseRepositoryImpl.java b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/jpa/daoimpl/BaseRepositoryImpl.java index 0eb845c..1dd2c29 100644 --- a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/jpa/daoimpl/BaseRepositoryImpl.java +++ b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/jpa/daoimpl/BaseRepositoryImpl.java @@ -10,6 +10,7 @@ import org.hibernate.NonUniqueResultException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.data.jpa.repository.support.SimpleJpaRepository; +import org.springframework.util.CollectionUtils; import javax.persistence.*; import java.io.Serializable; @@ -36,7 +37,7 @@ public class BaseRepositoryImpl extends SimpleJpaRep private Class persistentClass; private SnowflakeIdMaker snowflakeIdMaker; - public BaseRepositoryImpl(Class clz, EntityManager em,SnowflakeIdMaker snowflakeIdMaker) { + public BaseRepositoryImpl(Class clz, EntityManager em, SnowflakeIdMaker snowflakeIdMaker) { super(clz, em); this.entityManager = em; this.persistentClass = clz; @@ -82,7 +83,7 @@ public class BaseRepositoryImpl extends SimpleJpaRep @Override public T insert(T item) { - return insert(item,true); + return insert(item, true); } @Override @@ -93,7 +94,7 @@ public class BaseRepositoryImpl extends SimpleJpaRep @Override public S save(S entity) { //复写save方法,若id为0或空则新增,不然则修改 - return (S) innerSave(entity,true); + return (S) innerSave(entity, true); } @Override @@ -135,100 +136,101 @@ public class BaseRepositoryImpl extends SimpleJpaRep } @Override - public void deleteById(ID id){ + public void deleteById(ID id) { deleteByProperty("id", id); } @Override public int deleteByProperty(String propName, Object propValue) { - return deleteByProperties(new String[] { propName }, new Object[] { propValue }); + return deleteByProperties(new String[]{propName}, new Object[]{propValue}); } @Override public int deleteByProperties(String[] propName, Object[] propValue) { if ((propName != null) && (propName.length > 0) && (propValue != null) && (propValue.length > 0) && (propValue.length == propName.length)) { StringBuffer sb = new StringBuffer("delete from " + persistentClass.getName() + " model where 1=1 "); - appendQL(sb,propName,propValue); + appendQL(sb, propName, propValue); Query query = entityManager.createQuery(sb.toString()); - setParameter(query,propName,propValue); + setParameter(query, propName, propValue); return query.executeUpdate(); - }else{ + } else { throw new IllegalArgumentException("删除错误!propName:" + propName + ",propValue:" + propValue); } } @Override public int deleteByIds(ID[] ids) { - return deleteByPropertyIn("id", ids); + return deleteByPropertyIn("id", ids); } @Override public int deleteByPropertyIn(String propName, Object[] propValues) { if ((propName != null && propName.length() > 0) && (propValues != null && propValues.length > 0)) { - String hql = "delete from " + persistentClass.getName() + " model where model."+propName+" in(:"+propName+") "; + String hql = "delete from " + persistentClass.getName() + " model where model." + propName + " in(:" + propName + ") "; Query query = entityManager.createQuery(hql); query.setParameter(propName, Arrays.asList(propValues)); return query.executeUpdate(); - }else{ - throw new IllegalArgumentException("删除出错:"+propName+":" + propValues); + } else { + throw new IllegalArgumentException("删除出错:" + propName + ":" + propValues); } } @Override public int updateByProperties(String conditionName, Object conditionValue, String propertyName, Object propertyValue) { - return updateByProperties(new String[] { conditionName }, new Object[] { conditionValue }, new String[] { propertyName }, new Object[] { propertyValue }); + return updateByProperties(new String[]{conditionName}, new Object[]{conditionValue}, new String[]{propertyName}, new Object[]{propertyValue}); } @Override public int updateByProperties(String conditionName, Object conditionValue, String[] propertyName, Object[] propertyValue) { - return updateByProperties(new String[] { conditionName }, new Object[] { conditionValue }, propertyName, propertyValue); + return updateByProperties(new String[]{conditionName}, new Object[]{conditionValue}, propertyName, propertyValue); } @Override public int updateByProperties(String[] conditionName, Object[] conditionValue, String propertyName, Object propertyValue) { - return updateByProperties(conditionName, conditionValue, new String[] { propertyName }, new Object[] { propertyValue }); + return updateByProperties(conditionName, conditionValue, new String[]{propertyName}, new Object[]{propertyValue}); } @Override public int updateByProperties(String[] conditionName, Object[] conditionValue, String[] propertyName, Object[] propertyValue) { - return updateByPropertiesMain(conditionName, conditionValue, propertyName, propertyValue,true); + return updateByPropertiesMain(conditionName, conditionValue, propertyName, propertyValue, true); } @Override public int updateByPropertiesWithVal(String conditionName, Object conditionValue, String propertyName, Object propertyValue) { - return updateByPropertiesWithVal(new String[] { conditionName }, new Object[] { conditionValue }, new String[] { propertyName }, new Object[] { propertyValue }); + return updateByPropertiesWithVal(new String[]{conditionName}, new Object[]{conditionValue}, new String[]{propertyName}, new Object[]{propertyValue}); } @Override public int updateByPropertiesWithVal(String conditionName, Object conditionValue, String[] propertyName, Object[] propertyValue) { - return updateByPropertiesWithVal(new String[] { conditionName }, new Object[] { conditionValue }, propertyName, propertyValue); + return updateByPropertiesWithVal(new String[]{conditionName}, new Object[]{conditionValue}, propertyName, propertyValue); } @Override public int updateByPropertiesWithVal(String[] conditionName, Object[] conditionValue, String propertyName, Object propertyValue) { - return updateByPropertiesWithVal(conditionName, conditionValue, new String[] { propertyName }, new Object[] { propertyValue }); + return updateByPropertiesWithVal(conditionName, conditionValue, new String[]{propertyName}, new Object[]{propertyValue}); } @Override public int updateByPropertiesWithVal(String[] conditionName, Object[] conditionValue, String[] propertyName, Object[] propertyValue) { - return updateByPropertiesMain(conditionName, conditionValue, propertyName, propertyValue,false); + return updateByPropertiesMain(conditionName, conditionValue, propertyName, propertyValue, false); } /** * 更新参数汇总方法 - * @param conditionName 条件属性名 + * + * @param conditionName 条件属性名 * @param conditionValue 条件属性值 - * @param propertyName 更新属性名 - * @param propertyValue 更新属性值 - * @param valWithSimple 是否简单赋值 - * true为正常eg: price = :price - * false为自身添加eg: price = price + :price + * @param propertyName 更新属性名 + * @param propertyValue 更新属性值 + * @param valWithSimple 是否简单赋值 + * true为正常eg: price = :price + * false为自身添加eg: price = price + :price * @return */ private int updateByPropertiesMain(String[] conditionName, Object[] conditionValue, - String[] propertyName, Object[] propertyValue,boolean valWithSimple) { + String[] propertyName, Object[] propertyValue, boolean valWithSimple) { if ((propertyName != null) && (propertyName.length > 0) && (propertyValue != null) && (propertyValue.length > 0) && (propertyName.length == propertyValue.length) && (conditionValue != null) && (conditionValue.length > 0)) { @@ -236,9 +238,9 @@ public class BaseRepositoryImpl extends SimpleJpaRep sb.append("update " + persistentClass.getName() + " model set "); for (int i = 0; i < propertyName.length; i++) { - if(valWithSimple) { + if (valWithSimple) { sb.append(propertyName[i] + " = :p_" + propertyName[i] + ","); - }else{ + } else { sb.append(propertyName[i] + " = " + propertyName[i] + " + :p_" + propertyName[i] + ","); } } @@ -260,36 +262,36 @@ public class BaseRepositoryImpl extends SimpleJpaRep } @Override - public int updateByProperties(String propertyName, Object propertyValue,DdlPackBean packBean) { - return updateByProperties(new String[] { propertyName }, new Object[] { propertyValue },packBean); + public int updateByProperties(String propertyName, Object propertyValue, DdlPackBean packBean) { + return updateByProperties(new String[]{propertyName}, new Object[]{propertyValue}, packBean); } @Override - public int updateByProperties(String[] propertyName, Object[] propertyValue,DdlPackBean packBean) { - return updateByPropertiesDdlPack(propertyName, propertyValue,packBean,true); + public int updateByProperties(String[] propertyName, Object[] propertyValue, DdlPackBean packBean) { + return updateByPropertiesDdlPack(propertyName, propertyValue, packBean, true); } @Override - public int updateByPropertiesWithVal(String propertyName, Object propertyValue,DdlPackBean packBean) { - return updateByPropertiesWithVal(new String[] { propertyName }, new Object[] { propertyValue },packBean); + public int updateByPropertiesWithVal(String propertyName, Object propertyValue, DdlPackBean packBean) { + return updateByPropertiesWithVal(new String[]{propertyName}, new Object[]{propertyValue}, packBean); } @Override - public int updateByPropertiesWithVal(String[] propertyName, Object[] propertyValue,DdlPackBean packBean) { - return updateByPropertiesDdlPack(propertyName, propertyValue,packBean,false); + public int updateByPropertiesWithVal(String[] propertyName, Object[] propertyValue, DdlPackBean packBean) { + return updateByPropertiesDdlPack(propertyName, propertyValue, packBean, false); } private int updateByPropertiesDdlPack(String[] propertyName, Object[] propertyValue, - DdlPackBean packBean,boolean valWithSimple) { + DdlPackBean packBean, boolean valWithSimple) { if ((propertyName != null) && (propertyName.length > 0) && (propertyValue != null) && (propertyValue.length > 0) && (propertyName.length == propertyValue.length)) { StringBuffer sb = new StringBuffer(); sb.append("update " + persistentClass.getName() + " model set "); for (int i = 0; i < propertyName.length; i++) { - if(valWithSimple) { + if (valWithSimple) { sb.append(propertyName[i] + " = :p_" + propertyName[i] + ","); - }else{ + } else { sb.append(propertyName[i] + " = " + propertyName[i] + " + :p_" + propertyName[i] + ","); } } @@ -303,7 +305,7 @@ public class BaseRepositoryImpl extends SimpleJpaRep } //查询条件 for (String key : packBean.getHqlPreparedMap().keySet()) { - query.setParameter("m_" + key,packBean.getHqlPreparedMap().get(key)); + query.setParameter("m_" + key, packBean.getHqlPreparedMap().get(key)); } return query.executeUpdate(); @@ -344,9 +346,9 @@ public class BaseRepositoryImpl extends SimpleJpaRep @Override public T getById(long id) { - try{ - return entityManager.find(persistentClass,id); - }catch (Exception e){ + try { + return entityManager.find(persistentClass, id); + } catch (Exception e) { return null; } } @@ -360,12 +362,12 @@ public class BaseRepositoryImpl extends SimpleJpaRep @Override public List listPager(Pager pager) { - if(pager.getTotalRows() > 0) { + if (pager.getTotalRows() > 0) { return entityManager.createQuery("from " + persistentClass.getName()) .setFirstResult(pager.getStartRow()) .setMaxResults(pager.getPageSize()) .getResultList(); - }else{ + } else { return new ArrayList(); } } @@ -378,16 +380,16 @@ public class BaseRepositoryImpl extends SimpleJpaRep @Override public List findByPage(DdlPackBean packBean, int offset, int pageSize) { Query query = null; - String ddl = "from " + persistentClass.getName() + " where 1=1 " +packBean.getPackedHql(); + String ddl = "from " + persistentClass.getName() + " where 1=1 " + packBean.getPackedHql(); - if(packBean.isHql()){ + if (packBean.isHql()) { query = entityManager.createQuery(ddl); - }else{ + } else { query = entityManager.createNativeQuery(ddl); } for (String key : packBean.getHqlPreparedMap().keySet()) { - query.setParameter("m_" + key,packBean.getHqlPreparedMap().get(key)); + query.setParameter("m_" + key, packBean.getHqlPreparedMap().get(key)); } return query.setFirstResult(offset) @@ -412,7 +414,7 @@ public class BaseRepositoryImpl extends SimpleJpaRep @Override public List findByProperty(String[] propertyNames, Object[] values) { - if(propertyNames.length != values.length){ + if (propertyNames.length != values.length) { throw new IllegalArgumentException("参数名的数量和参数值不匹配!propertyNames:" + propertyNames.length + ",values:" + values.length); } StringBuffer queryString = new StringBuffer(); @@ -424,14 +426,14 @@ public class BaseRepositoryImpl extends SimpleJpaRep } for (int i = 0; i < size; i++) { - if(values[i] != null) { + if (values[i] != null) { queryString.append(" and model." + propertyNames[i] + "= :" + propertyNames[i]); } } Query queryObject = entityManager.createQuery(queryString.toString()); for (int i = 0; i < size; i++) { - if(values[i] != null) { + if (values[i] != null) { queryObject.setParameter(propertyNames[i], values[i]); } } @@ -447,7 +449,7 @@ public class BaseRepositoryImpl extends SimpleJpaRep @Override public List findByProperty(String[] propertyNames, Object[] values, String orderByStuff) { - if(propertyNames.length != values.length){ + if (propertyNames.length != values.length) { throw new IllegalArgumentException("参数名的数量和参数值不匹配!propertyNames:" + propertyNames.length + ",values:" + values.length); } StringBuffer queryString = new StringBuffer(); @@ -459,7 +461,7 @@ public class BaseRepositoryImpl extends SimpleJpaRep } for (int i = 0; i < size; i++) { - if(values[i] != null) { + if (values[i] != null) { queryString.append(" and model." + propertyNames[i] + "= :" + propertyNames[i]); } } @@ -468,7 +470,7 @@ public class BaseRepositoryImpl extends SimpleJpaRep Query queryObject = entityManager.createQuery(queryString.toString()); for (int i = 0; i < size; i++) { - if(values[i] != null) { + if (values[i] != null) { queryObject.setParameter(propertyNames[i], values[i]); } } @@ -478,37 +480,34 @@ public class BaseRepositoryImpl extends SimpleJpaRep @Override public T getByProperty(DdlPackBean packBean) { - - try { - List list = findByHqlWhere(packBean); - return list.size() != 0 ? list.get(0) : null; - }catch(NoResultException ne){ - LOGGER.error("数据不存在,DdlPackBean:{}",packBean); - return null; - }catch(NonUniqueResultException ex){ - LOGGER.error("查询单条记录,但出现多条。packBean:{}",packBean); - throw new RuntimeException("存在多条记录:" + ex.getMessage()); + List list = findByHqlWhere(packBean); + if (CollectionUtils.isEmpty(list)) { + LOGGER.error("数据不存在,DdlPackBean:{}", packBean); + throw new RuntimeException("数据不存在"); + } else if (list.size() > 1) { + LOGGER.error("查询单条记录,但出现多条。packBean:{}", packBean); + throw new RuntimeException("存在多条记录"); } + return list.iterator().next(); } @Override public T getByProperty(String propertyName, Object value) { String queryString = "from " + persistentClass.getSimpleName() + " as model where model." + propertyName + "= :" + propertyName; try { - List list = entityManager.createQuery(queryString).setParameter(propertyName, value).getResultList(); - return list.size() != 0 ? list.get(0) : null; - }catch(NoResultException ne){ - LOGGER.error("数据不存在,prop:{},value:{}",propertyName,value,ne); + return (T) entityManager.createQuery(queryString).setParameter(propertyName, value).getSingleResult(); + } catch (NoResultException ne) { + LOGGER.error("数据不存在,prop:{},value:{}", propertyName, value, ne); return null; - }catch(NonUniqueResultException ex){ - LOGGER.error("查询单条记录,但出现多条。prop:{},value:{}",propertyName,value,ex); + } catch (NonUniqueResultException ex) { + LOGGER.error("查询单条记录,但出现多条。prop:{},value:{}", propertyName, value, ex); throw new RuntimeException("存在多条记录:" + ex.getMessage()); } } @Override public T getByProperty(String[] propertyNames, Object[] values) { - if(propertyNames.length != values.length){ + if (propertyNames.length != values.length) { throw new IllegalArgumentException("参数名的数量和参数值不匹配!propertyNames:" + propertyNames.length + ",values:" + values.length); } StringBuffer queryString = new StringBuffer(); @@ -520,57 +519,56 @@ public class BaseRepositoryImpl extends SimpleJpaRep } for (int i = 0; i < size; i++) { - if(values[i] != null) { + if (values[i] != null) { queryString.append(" and model." + propertyNames[i] + "= :" + propertyNames[i]); } } Query queryObject = entityManager.createQuery(queryString.toString()); for (int i = 0; i < size; i++) { - if(values[i] != null) { + if (values[i] != null) { queryObject.setParameter(propertyNames[i], values[i]); } } - try{ - List list = queryObject.getResultList(); - return list.size() != 0 ? list.get(0) : null; - }catch(NoResultException ne){ - LOGGER.error("数据不存在",ne); + try { + return (T) queryObject.getSingleResult(); + } catch (NoResultException ne) { + LOGGER.error("数据不存在", ne); return null; - }catch(NonUniqueResultException ex){ - LOGGER.error("查询单条记录,但出现多条。",ex); + } catch (NonUniqueResultException ex) { + LOGGER.error("查询单条记录,但出现多条。", ex); throw new RuntimeException("存在多条记录:" + ex.getMessage()); } } @Override public int listCount() { - try{ - Long count = entityManager.createQuery("select count(distinct model) from " + persistentClass.getName() + " as model",Long.class) + try { + Long count = entityManager.createQuery("select count(distinct model) from " + persistentClass.getName() + " as model", Long.class) .getSingleResult(); return count == null ? 0 : count.intValue(); - }catch(NoResultException e){ + } catch (NoResultException e) { return 0; } } @Override public int findByPropertyCount(String propertyName, Object value) { - try{ + try { String queryString = "select count(distinct model) from " + persistentClass.getName() + " as model where model." + propertyName + "= :" + propertyName; Long count = entityManager.createQuery(queryString, Long.class) .setParameter(propertyName, value) .getSingleResult(); return count == null ? 0 : count.intValue(); - }catch(NoResultException e){ + } catch (NoResultException e) { return 0; } } @Override public int findByPropertyCount(String[] propertyNames, Object[] values) { - if(propertyNames.length != values.length){ + if (propertyNames.length != values.length) { throw new IllegalArgumentException("参数名的数量和参数值不匹配!propertyNames:" + propertyNames.length + ",values:" + values.length); } StringBuffer queryString = new StringBuffer(); @@ -582,42 +580,42 @@ public class BaseRepositoryImpl extends SimpleJpaRep } for (int i = 0; i < size; i++) { - if(values[i] != null) { + if (values[i] != null) { queryString.append(" and model." + propertyNames[i] + "= :" + propertyNames[i]); } } - Query queryObject = entityManager.createQuery(queryString.toString(),Long.class); + Query queryObject = entityManager.createQuery(queryString.toString(), Long.class); for (int i = 0; i < size; i++) { - if(values[i] != null) { + if (values[i] != null) { queryObject.setParameter(propertyNames[i], values[i]); } } - try{ + try { Long count = (Long) queryObject.getSingleResult(); return count == null ? 0 : count.intValue(); - }catch(NoResultException e){ + } catch (NoResultException e) { return 0; } } @Override public List findByPropertyPage(String propertyName, Object value, String orderByStuff, Pager pager) { - if(pager.getTotalRows() > 0){ + if (pager.getTotalRows() > 0) { String queryString = "from " + persistentClass.getSimpleName() + " as model where model." + propertyName + "= :" + propertyName + " " + orderByStuff; return entityManager.createQuery(queryString) .setParameter(propertyName, value) .getResultList(); - }else{ + } else { return new ArrayList(); } } @Override public List findByPropertyPage(String[] propertyNames, Object[] values, String orderByStuff, Pager pager) { - if(pager.getTotalRows() > 0){ - if(propertyNames.length != values.length){ + if (pager.getTotalRows() > 0) { + if (propertyNames.length != values.length) { throw new IllegalArgumentException("参数名的数量和参数值不匹配!propertyNames:" + propertyNames.length + ",values:" + values.length); } StringBuffer queryString = new StringBuffer(); @@ -629,12 +627,12 @@ public class BaseRepositoryImpl extends SimpleJpaRep } for (int i = 0; i < size; i++) { - if(values[i] != null) { + if (values[i] != null) { queryString.append(" and model." + propertyNames[i] + "= :" + propertyNames[i]); } } - if(orderByStuff != null && orderByStuff.length() > 0){ + if (orderByStuff != null && orderByStuff.length() > 0) { queryString.append(orderByStuff); } @@ -644,7 +642,7 @@ public class BaseRepositoryImpl extends SimpleJpaRep } return queryObject.setFirstResult(pager.getStartRow()).setMaxResults(pager.getPageSize()).getResultList(); - }else{ + } else { return new ArrayList(); } } @@ -674,7 +672,7 @@ public class BaseRepositoryImpl extends SimpleJpaRep + " as model where 1=1 " + packBean.getPackedHql()); for (String key : packBean.getHqlPreparedMap().keySet()) { - query.setParameter("m_" + key,packBean.getHqlPreparedMap().get(key)); + query.setParameter("m_" + key, packBean.getHqlPreparedMap().get(key)); } return query.getResultList(); @@ -682,7 +680,7 @@ public class BaseRepositoryImpl extends SimpleJpaRep @Override public List findByHqlWhere(String hqlWhere, String[] propertyNames, Object[] values, String orderByStuff) { - if(propertyNames.length != values.length){ + if (propertyNames.length != values.length) { throw new IllegalArgumentException("参数名的数量和参数值不匹配!propertyNames:" + propertyNames.length + ",values:" + values.length); } @@ -695,7 +693,7 @@ public class BaseRepositoryImpl extends SimpleJpaRep int size = propertyNames.length; for (int i = 0; i < size; i++) { - if(values[i] != null) { + if (values[i] != null) { queryString.append(" and model." + propertyNames[i] + "= :" + propertyNames[i]); } } @@ -704,7 +702,7 @@ public class BaseRepositoryImpl extends SimpleJpaRep Query queryObject = entityManager.createQuery(queryString.toString()); for (int i = 0; i < size; i++) { - if(values[i] != null) { + if (values[i] != null) { queryObject.setParameter(propertyNames[i], values[i]); } } @@ -713,7 +711,7 @@ public class BaseRepositoryImpl extends SimpleJpaRep @Override public int findByHqlWhereCount(String hqlWhere, String[] propertyNames, Object[] values) { - if(propertyNames.length != values.length){ + if (propertyNames.length != values.length) { throw new IllegalArgumentException("参数名的数量和参数值不匹配!propertyNames:" + propertyNames.length + ",values:" + values.length); } StringBuffer queryString = new StringBuffer(); @@ -725,30 +723,30 @@ public class BaseRepositoryImpl extends SimpleJpaRep int size = propertyNames.length; for (int i = 0; i < size; i++) { - if(values[i] != null) { + if (values[i] != null) { queryString.append(" and model." + propertyNames[i] + "= :" + propertyNames[i]); } } Query queryObject = entityManager.createQuery(queryString.toString()); for (int i = 0; i < size; i++) { - if(values[i] != null) { + if (values[i] != null) { queryObject.setParameter(propertyNames[i], values[i]); } } - try{ - Long count = entityManager.createQuery(queryString.toString(),Long.class).getSingleResult(); + try { + Long count = entityManager.createQuery(queryString.toString(), Long.class).getSingleResult(); return count == null ? 0 : count.intValue(); - }catch(NoResultException e){ + } catch (NoResultException e) { return 0; } } @Override public List findByHqlWherePage(String hqlWhere, Pager pager, String[] propertyNames, Object[] values, String orderByStuff) { - if(pager.getTotalRows() > 0){ - if(propertyNames.length != values.length){ + if (pager.getTotalRows() > 0) { + if (propertyNames.length != values.length) { throw new IllegalArgumentException("参数名的数量和参数值不匹配!propertyNames:" + propertyNames.length + ",values:" + values.length); } StringBuffer queryString = new StringBuffer(); @@ -760,7 +758,7 @@ public class BaseRepositoryImpl extends SimpleJpaRep int size = propertyNames.length; for (int i = 0; i < size; i++) { - if(values[i] != null) { + if (values[i] != null) { queryString.append(" and model." + propertyNames[i] + "= :" + propertyNames[i]); } } @@ -768,13 +766,13 @@ public class BaseRepositoryImpl extends SimpleJpaRep Query queryObject = entityManager.createQuery(queryString.toString()).setFirstResult(pager.getStartRow()).setMaxResults(pager.getPageSize()); for (int i = 0; i < size; i++) { - if(values[i] != null) { + if (values[i] != null) { queryObject.setParameter(propertyNames[i], values[i]); } } return queryObject.getResultList(); - }else{ + } else { return new ArrayList(); } } @@ -782,7 +780,7 @@ public class BaseRepositoryImpl extends SimpleJpaRep @Deprecated @Override public List findByHqlWherePage(String hqlWhere, Pager pager) { - if(pager.getTotalRows() > 0) { + if (pager.getTotalRows() > 0) { StringBuffer queryString = new StringBuffer(); queryString.append("from " + persistentClass.getSimpleName() + " as model where 1=1 "); @@ -794,25 +792,25 @@ public class BaseRepositoryImpl extends SimpleJpaRep .setFirstResult(pager.getStartRow()) .setMaxResults(pager.getPageSize()) .getResultList(); - }else{ + } else { return new ArrayList(); } } @Override public List findByHqlWherePage(DdlPackBean packBean, Pager pager) { - if(pager.getTotalRows() > 0) { + if (pager.getTotalRows() > 0) { Query query = entityManager.createQuery("from " + persistentClass.getSimpleName() + " as model where 1=1 " + packBean.getPackedHql()); for (String key : packBean.getHqlPreparedMap().keySet()) { - query.setParameter("m_" + key,packBean.getHqlPreparedMap().get(key)); + query.setParameter("m_" + key, packBean.getHqlPreparedMap().get(key)); } return query.setFirstResult(pager.getStartRow()) .setMaxResults(pager.getPageSize()) .getResultList(); - }else{ + } else { return new ArrayList(); } } @@ -826,10 +824,10 @@ public class BaseRepositoryImpl extends SimpleJpaRep if (hqlWhere != null && hqlWhere.length() > 0) { queryString.append(hqlWhere); } - try{ + try { Long count = entityManager.createQuery(queryString.toString(), Long.class).getSingleResult(); return count == null ? 0 : count.intValue(); - }catch(NoResultException e){ + } catch (NoResultException e) { return 0; } } @@ -842,44 +840,44 @@ public class BaseRepositoryImpl extends SimpleJpaRep Query query = entityManager.createQuery(queryString.toString(), Long.class); for (String key : packBean.getHqlPreparedMap().keySet()) { - query.setParameter("m_" + key,packBean.getHqlPreparedMap().get(key)); + query.setParameter("m_" + key, packBean.getHqlPreparedMap().get(key)); } - try{ + try { Long count = (Long) query.getSingleResult(); return count == null ? 0 : count.intValue(); - }catch(NoResultException e){ + } catch (NoResultException e) { return 0; } } @Override public int findByHqlCount(String hql) { - try{ - Long count = entityManager.createQuery(hql,Long.class).getSingleResult(); + try { + Long count = entityManager.createQuery(hql, Long.class).getSingleResult(); return count == null ? 0 : count.intValue(); - }catch(NoResultException e){ + } catch (NoResultException e) { return 0; } } @Override public int findByHqlCount(String hql, String[] paramName, Object[] paramValue) { - Query queryObject = entityManager.createQuery(hql,Integer.class); - for(int i=0;i findByHqlPage(String hqlWhere, Pager pager) { - if(pager.getTotalRows() > 0){ + if (pager.getTotalRows() > 0) { StringBuffer queryString = new StringBuffer(); queryString.append("from " + persistentClass.getSimpleName() + " as model where 1=1 "); @@ -891,32 +889,32 @@ public class BaseRepositoryImpl extends SimpleJpaRep .setFirstResult(pager.getStartRow()) .setMaxResults(pager.getPageSize()) .getResultList(); - }else{ + } else { return new ArrayList(); } } @Override public List findByHqlPage(DdlPackBean packBean, Pager pager) { - if(pager.getTotalRows() > 0){ + if (pager.getTotalRows() > 0) { Query query = entityManager.createQuery("from " + persistentClass.getSimpleName() + " as model where 1=1 " + packBean.getPackedHql()); for (String key : packBean.getHqlPreparedMap().keySet()) { - query.setParameter("m_" + key,packBean.getHqlPreparedMap().get(key)); + query.setParameter("m_" + key, packBean.getHqlPreparedMap().get(key)); } return query.setFirstResult(pager.getStartRow()) .setMaxResults(pager.getPageSize()) .getResultList(); - }else{ + } else { return new ArrayList(); } } @Override public List findByHqlPage(String hql, Pager pager, String[] paramName, Object[] paramValue) { - if(pager.getTotalRows() > 0) { + if (pager.getTotalRows() > 0) { Query queryObject = entityManager.createQuery(hql); for (int i = 0; i < paramName.length; i++) { if (paramValue[i] != null) { @@ -927,7 +925,7 @@ public class BaseRepositoryImpl extends SimpleJpaRep return queryObject.setFirstResult(pager.getStartRow()) .setMaxResults(pager.getPageSize()) .getResultList(); - }else{ + } else { return new ArrayList(); } } @@ -939,29 +937,29 @@ public class BaseRepositoryImpl extends SimpleJpaRep @Override public List findBySql(String sql, Class entity) { - return entityManager.createNativeQuery(sql,entity).getResultList(); + return entityManager.createNativeQuery(sql, entity).getResultList(); } @Override public List findBySqlPage(String sql, Pager pager) { - if(pager.getTotalRows() > 0) { + if (pager.getTotalRows() > 0) { return entityManager.createNativeQuery(sql) .setFirstResult(pager.getStartRow()) .setMaxResults(pager.getPageSize()) .getResultList(); - }else{ + } else { return new ArrayList(); } } @Override public List findBySqlPage(String sql, Class entity, Pager pager) { - if(pager.getTotalRows() > 0){ - return entityManager.createNativeQuery(sql,entity) + if (pager.getTotalRows() > 0) { + return entityManager.createNativeQuery(sql, entity) .setFirstResult(pager.getStartRow()) .setMaxResults(pager.getPageSize()) .getResultList(); - }else{ + } else { return new ArrayList(); } } @@ -973,74 +971,74 @@ public class BaseRepositoryImpl extends SimpleJpaRep @Override public int findBySqlCount(String sql) { - try{ + try { Long count = (Long) entityManager - .createNativeQuery("select count(*) from ( " + sql + " ) as usertable",Long.class) + .createNativeQuery("select count(*) from ( " + sql + " ) as usertable", Long.class) .getSingleResult(); return count == null ? 0 : count.intValue(); - }catch(NoResultException e){ + } catch (NoResultException e) { return 0; } } @Override public double findBySqlSumDouble(String sql, String columnName) { - try{ + try { return (double) entityManager - .createNativeQuery("select sum(" + columnName + ") from ( " + sql + " ) as usertable",Double.class) + .createNativeQuery("select sum(" + columnName + ") from ( " + sql + " ) as usertable", Double.class) .getSingleResult(); - }catch(NoResultException e){ + } catch (NoResultException e) { return 0; } } @Override public double findByHqlDouble(String hql) { - try{ - Double result = entityManager.createQuery(hql,Double.class).getSingleResult(); + try { + Double result = entityManager.createQuery(hql, Double.class).getSingleResult(); return result == null ? 0 : result; - }catch(NoResultException e){ + } catch (NoResultException e) { return 0; } } @Override public double findByHqlDouble(DdlPackBean packBean) { - try{ - Query query = entityManager.createQuery(packBean.getPackedHqlAll(),Double.class); + try { + Query query = entityManager.createQuery(packBean.getPackedHqlAll(), Double.class); for (String key : packBean.getHqlPreparedMap().keySet()) { - query.setParameter("m_" + key,packBean.getHqlPreparedMap().get(key)); + query.setParameter("m_" + key, packBean.getHqlPreparedMap().get(key)); } Double result = (Double) query.getSingleResult(); return result == null ? 0 : result; - }catch(NoResultException e){ + } catch (NoResultException e) { return 0; } } @Override public long findByHqlLong(String hql) { - try{ - return entityManager.createQuery(hql,Long.class).getSingleResult(); - }catch(NoResultException e){ + try { + return entityManager.createQuery(hql, Long.class).getSingleResult(); + } catch (NoResultException e) { return 0; } } @Override public long findByHqlLong(DdlPackBean packBean) { - try{ + try { Query query = entityManager.createQuery("from " + persistentClass.getSimpleName() - + " as model where 1=1 " + packBean.getPackedHql(),Long.class); + + " as model where 1=1 " + packBean.getPackedHql(), Long.class); for (String key : packBean.getHqlPreparedMap().keySet()) { - query.setParameter("m_" + key,packBean.getHqlPreparedMap().get(key)); + query.setParameter("m_" + key, packBean.getHqlPreparedMap().get(key)); } return (long) query.getSingleResult(); - }catch(NoResultException e){ + } catch (NoResultException e) { return 0; } } @@ -1062,14 +1060,14 @@ public class BaseRepositoryImpl extends SimpleJpaRep + " as model where 1=1 " + packBean.getPackedHql()); for (String key : packBean.getHqlPreparedMap().keySet()) { - query.setParameter("m_" + key,packBean.getHqlPreparedMap().get(key)); + query.setParameter("m_" + key, packBean.getHqlPreparedMap().get(key)); } return query.setFirstResult(0).setMaxResults(topNum).getResultList(); } @Override public List findColumnsByHql(String hql, String hqlWhere, String orderByStuff, Pager pager) { - if(pager.getTotalRows() > 0) { + if (pager.getTotalRows() > 0) { StringBuffer queryString = new StringBuffer(); queryString.append(hql + " as model where 1=1 "); @@ -1084,7 +1082,7 @@ public class BaseRepositoryImpl extends SimpleJpaRep .setFirstResult(pager.getStartRow()) .setMaxResults(pager.getPageSize()) .getResultList(); - }else{ + } else { return new ArrayList(); } } @@ -1097,8 +1095,8 @@ public class BaseRepositoryImpl extends SimpleJpaRep @Override public List findByHqlObjects(String hql, String[] paramName, Object[] paramValue) { Query queryObject = entityManager.createQuery(hql); - for(int i=0;i extends SimpleJpaRep @Override public List findByHqlPageObjects(String hql, Pager pager) { - if(pager.getTotalRows() > 0){ + if (pager.getTotalRows() > 0) { return entityManager.createQuery(hql).setFirstResult(pager.getStartRow()).setMaxResults(pager.getPageSize()).getResultList(); - }else{ + } else { return new ArrayList(); } } @Override public List findByHqlPageObjects(String hql, Pager pager, String[] paramName, Object[] paramValue) { - if(pager.getTotalRows() > 0) { + if (pager.getTotalRows() > 0) { Query queryObject = entityManager.createQuery(hql); for (int i = 0; i < paramName.length; i++) { if (paramValue[i] != null) { @@ -1126,7 +1124,7 @@ public class BaseRepositoryImpl extends SimpleJpaRep } return queryObject.setFirstResult(pager.getStartRow()).setMaxResults(pager.getPageSize()).getResultList(); - }else{ + } else { return new ArrayList(); } } @@ -1138,60 +1136,61 @@ public class BaseRepositoryImpl extends SimpleJpaRep @Override public List findBySqlObjListByPager(String sql, Pager pager) { - if(pager.getTotalRows() > 0){ + if (pager.getTotalRows() > 0) { return entityManager.createNativeQuery(sql) .setFirstResult(pager.getStartRow()) .setMaxResults(pager.getPageSize()) .getResultList(); - }else{ + } else { return new ArrayList(); } } /** * 保存对象 + * * @param item 保存对象 * @return */ private T innerSave(T item, boolean initParam) { try { - if(item == null) { + if (item == null) { return null; } Class clazz = item.getClass(); //获取主键 Field idField = clazz.getField("id"); - if(idField == null){ + if (idField == null) { idField = clazz.getField("primaryKey"); } - if(idField == null){ + if (idField == null) { // 遍历所有属性,以@Id声明确认主键 Field[] fields = clazz.getFields(); - for(Field f : fields){ - if(f.getAnnotation(Id.class) != null){ + for (Field f : fields) { + if (f.getAnnotation(Id.class) != null) { idField = f; break; } } } - if(idField != null){ + if (idField != null) { Class type = idField.getType(); Object val = idField.get(item); - if(type == Long.class && (val == null || Long.parseLong(val.toString()) == 0)){ + if (type == Long.class && (val == null || Long.parseLong(val.toString()) == 0)) { // long类型主键,以snowflake为主键 idField.set(item, snowflakeIdMaker.nextId()); - } else if(type == String.class && (val==null || "".equals(val))){ + } else if (type == String.class && (val == null || "".equals(val))) { // String类型主键,以UUID为主键 idField.set(item, UUID.randomUUID().toString().replace("-", "").toLowerCase()); } } //属性值过滤,避免null值 - if(initParam){ - for(Field checkField : clazz.getFields()){ - if(checkField.get(item) == null){ + if (initParam) { + for (Field checkField : clazz.getFields()) { + if (checkField.get(item) == null) { // 未赋值的属性,进行初始化赋值 fieldSetInitParam(item, checkField); } @@ -1200,9 +1199,9 @@ public class BaseRepositoryImpl extends SimpleJpaRep entityManager.merge(item); entityManager.flush(); - if(idField!=null){ + if (idField != null) { return item; - }else { + } else { return null; } } catch (Exception e) { @@ -1213,21 +1212,22 @@ public class BaseRepositoryImpl extends SimpleJpaRep /** * 对为赋值的属性进行赋值 + * * @param field */ - private void fieldSetInitParam(T item,Field field) { + private void fieldSetInitParam(T item, Field field) { try { if (field.getType() == String.class) { field.set(item, ""); } else if (field.getType() == Byte.class || field.getType() == Character.class || field.getType() == Integer.class) { field.set(item, 0); - } else if(field.getType() == Long.class){ + } else if (field.getType() == Long.class) { field.set(item, 0L); - } else if(field.getType() == Float.class){ + } else if (field.getType() == Float.class) { field.set(item, 0.0f); - } else if(field.getType() == Double.class){ + } else if (field.getType() == Double.class) { field.set(item, 0.0d); - } else if(field.getType() == Boolean.class){ + } else if (field.getType() == Boolean.class) { field.set(item, false); } } catch (IllegalAccessException e) { @@ -1252,129 +1252,133 @@ public class BaseRepositoryImpl extends SimpleJpaRep } @Override - public int deleteWeaklyById(ID id,String username) { - return deleteWeaklyByProperty("id", id,username); + public int deleteWeaklyById(ID id, String username) { + return deleteWeaklyByProperty("id", id, username); } @Override - public int deleteWeaklyByIds(Long[] ids,String username) { - return deleteWeaklyByPropertyIn("id", ids,username); + public int deleteWeaklyByIds(Long[] ids, String username) { + return deleteWeaklyByPropertyIn("id", ids, username); } @Override - public int deleteWeaklyByProperty(String propName, Object propValue,String username) { - return deleteWeaklyByProperties(new String[] { propName }, new Object[] { propValue },username); + public int deleteWeaklyByProperty(String propName, Object propValue, String username) { + return deleteWeaklyByProperties(new String[]{propName}, new Object[]{propValue}, username); } /** * 批量弱删除 + * * @return */ @Override - public int deleteWeaklyByPropertyIn(String propName, Object[] propValues,String username) { - if(propValues != null && propValues.length > 0){ + public int deleteWeaklyByPropertyIn(String propName, Object[] propValues, String username) { + if (propValues != null && propValues.length > 0) { String hql = "update " + persistentClass.getName() + " model set model.isDeleted =:modelIsDeleted,model.modifyUser=:modelModifyUser,model.modifyDatetime=:modelModifyDatetime where model." - + propName + " in(:"+propName+") "; + + propName + " in(:" + propName + ") "; Query query = entityManager.createQuery(hql); - query.setParameter("modelIsDeleted",CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()); - query.setParameter("modelModifyUser",username); - query.setParameter("modelModifyDatetime",getNowTime(true)); + query.setParameter("modelIsDeleted", CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()); + query.setParameter("modelModifyUser", username); + query.setParameter("modelModifyDatetime", getNowTime(true)); query.setParameter(propName, Arrays.asList(propValues)); return query.executeUpdate(); - }else{ - throw new IllegalArgumentException("弱删除失败:"+propName+":" + propValues); + } else { + throw new IllegalArgumentException("弱删除失败:" + propName + ":" + propValues); } } /** * 批量弱删除 + * * @return */ @Override - public int deleteWeaklyByProperties(String[] propName, Object[] propValue,String username) { + public int deleteWeaklyByProperties(String[] propName, Object[] propValue, String username) { if ((propName != null) && (propName.length > 0) && (propValue != null) && (propValue.length > 0) && (propValue.length == propName.length)) { StringBuffer sb = new StringBuffer("update " + persistentClass.getName() + " model set model.isDeleted = :modelDeleted,model.modifyUser= :modelModifyUser,model.modifyDatetime=:modelModifyDatetime where 1=1 "); - appendQL(sb,propName,propValue); + appendQL(sb, propName, propValue); Query query = entityManager.createQuery(sb.toString()); - query.setParameter("modelModifyUser",username); - query.setParameter("modelModifyDatetime",getNowTime(true)); - query.setParameter("modelDeleted",CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()); + query.setParameter("modelModifyUser", username); + query.setParameter("modelModifyDatetime", getNowTime(true)); + query.setParameter("modelDeleted", CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()); - setParameter(query,propName,propValue); + setParameter(query, propName, propValue); return query.executeUpdate(); - }else{ - throw new IllegalArgumentException("弱删除失败:"+propName+":" + propValue); + } else { + throw new IllegalArgumentException("弱删除失败:" + propName + ":" + propValue); } } @Override - public int updateValidStatusById(ID id,int status,String username) { - return updateValidStatusByProperty("id", id,status,username); + public int updateValidStatusById(ID id, int status, String username) { + return updateValidStatusByProperty("id", id, status, username); } @Override - public int updateValidStatusByIds(Long[] ids,int status,String username) { - return updateValidStatusByPropertyIn("id", ids,status,username); + public int updateValidStatusByIds(Long[] ids, int status, String username) { + return updateValidStatusByPropertyIn("id", ids, status, username); } @Override - public int updateValidStatusByProperty(String propName, Object propValue,int status,String username) { - return updateValidStatusByProperties(new String[] { propName }, new Object[] { propValue },status,username); + public int updateValidStatusByProperty(String propName, Object propValue, int status, String username) { + return updateValidStatusByProperties(new String[]{propName}, new Object[]{propValue}, status, username); } /** * 批量禁用 + * * @return */ @Override - public int updateValidStatusByPropertyIn(String propName, Object[] propValues,int status,String username) { - if(propValues != null && propValues.length > 0){ + public int updateValidStatusByPropertyIn(String propName, Object[] propValues, int status, String username) { + if (propValues != null && propValues.length > 0) { String hql = "update " + persistentClass.getName() + " model set model.isValid =:modelIsValid ,model.modifyUser=:modelModifyUser,model.modifyDatetime=:modelModifyDatetime where model." - + propName + " in(:"+propName+") "; + + propName + " in(:" + propName + ") "; Query query = entityManager.createQuery(hql); - query.setParameter("modelModifyUser",username); - query.setParameter("modelModifyDatetime",getNowTime(true)); - query.setParameter("modelIsValid",status); + query.setParameter("modelModifyUser", username); + query.setParameter("modelModifyDatetime", getNowTime(true)); + query.setParameter("modelIsValid", status); query.setParameter(propName, Arrays.asList(propValues)); return query.executeUpdate(); - }else{ - throw new IllegalArgumentException("修改状态失败:"+propName+":" + propValues); + } else { + throw new IllegalArgumentException("修改状态失败:" + propName + ":" + propValues); } } /** * 批量禁用 + * * @return */ @Override - public int updateValidStatusByProperties(String[] propName, Object[] propValue,int status,String username) { + public int updateValidStatusByProperties(String[] propName, Object[] propValue, int status, String username) { if ((propName != null) && (propName.length > 0) && (propValue != null) && (propValue.length > 0) && (propValue.length == propName.length)) { StringBuffer sb = new StringBuffer("update " + persistentClass.getName() + " model set model.isValid = :modelIsValid,model.modifyUser= :modelModifyUser,model.modifyDatetime=:modelModifyDatetime where 1=1 "); - appendQL(sb,propName,propValue); + appendQL(sb, propName, propValue); Query query = entityManager.createQuery(sb.toString()); - query.setParameter("modelModifyUser",username); - query.setParameter("modelModifyDatetime",getNowTime(true)); - query.setParameter("modelIsValid",status); + query.setParameter("modelModifyUser", username); + query.setParameter("modelModifyDatetime", getNowTime(true)); + query.setParameter("modelIsValid", status); - setParameter(query,propName,propValue); + setParameter(query, propName, propValue); return query.executeUpdate(); - }else{ - throw new IllegalArgumentException("修改状态失败:"+propName+":" + propValue); + } else { + throw new IllegalArgumentException("修改状态失败:" + propName + ":" + propValue); } } @Override public boolean isExitByProperty(String propertyName, Object value) { //大于0,存在 - return findByPropertyCount(propertyName,value) > 0; + return findByPropertyCount(propertyName, value) > 0; } @Override @@ -1384,7 +1388,7 @@ public class BaseRepositoryImpl extends SimpleJpaRep @Override public boolean isExitByHqlWhere(String hqlWhere, String[] propertyNames, Object[] values) { - return findByHqlWhereCount(hqlWhere,propertyNames,values) > 0; + return findByHqlWhereCount(hqlWhere, propertyNames, values) > 0; } @Override @@ -1414,7 +1418,7 @@ public class BaseRepositoryImpl extends SimpleJpaRep @Override public double findSumByProperty(String sumPropertyName, String groupByName, String propertyName, Object value) { - return findSumByProperties(sumPropertyName,groupByName,new String[]{propertyName},new Object[]{value}); + return findSumByProperties(sumPropertyName, groupByName, new String[]{propertyName}, new Object[]{value}); } @Override @@ -1423,46 +1427,46 @@ public class BaseRepositoryImpl extends SimpleJpaRep StringBuffer sb = new StringBuffer("select sum(model." + sumPropertyName + ") from " + persistentClass.getName() + " model where 1=1 "); appendQL(sb, paramName, paramValue); - if(StringUtils.isNotBlank(groupByName)) { + if (StringUtils.isNotBlank(groupByName)) { sb.append(" group by model." + groupByName); } Query query = entityManager.createQuery(sb.toString()); - setParameter(query,paramName,paramValue); + setParameter(query, paramName, paramValue); return getNumberByResultList(query.getResultList()); - }else{ + } else { throw new IllegalArgumentException("sum查询错误!paramName:" + paramName + ",paramValue:" + paramValue); } } @Override public double findAvgByProperty(String sumPropertyName, String groupByName, String propertyName, Object value) { - return findAvgByProperties(sumPropertyName,groupByName,new String[]{propertyName},new Object[]{value}); + return findAvgByProperties(sumPropertyName, groupByName, new String[]{propertyName}, new Object[]{value}); } @Override public double findAvgByProperties(String sumPropertyName, String groupByName, String[] paramName, Object[] paramValue) { if ((paramName != null) && (paramName.length > 0) && (paramValue != null) && (paramValue.length > 0)) { - StringBuffer sb = new StringBuffer("select avg(model."+sumPropertyName+") from " + persistentClass.getName() + " model where 1=1 "); - appendQL(sb,paramName,paramValue); + StringBuffer sb = new StringBuffer("select avg(model." + sumPropertyName + ") from " + persistentClass.getName() + " model where 1=1 "); + appendQL(sb, paramName, paramValue); - if(StringUtils.isNotBlank(groupByName)) { + if (StringUtils.isNotBlank(groupByName)) { sb.append(" group by model." + groupByName); } Query query = entityManager.createQuery(sb.toString()); - setParameter(query,paramName,paramValue); + setParameter(query, paramName, paramValue); return getNumberByResultList(query.getResultList()); - }else{ + } else { throw new IllegalArgumentException("sum查询错误!paramName:" + paramName + ",paramValue:" + paramValue); } } @Override public double findMaxByProperty(String sumPropertyName, String groupByName, String propertyName, Object value) { - return findMaxByProperties(sumPropertyName,groupByName,new String[]{propertyName},new Object[]{value}); + return findMaxByProperties(sumPropertyName, groupByName, new String[]{propertyName}, new Object[]{value}); } @Override @@ -1470,22 +1474,22 @@ public class BaseRepositoryImpl extends SimpleJpaRep if ((paramName != null) && (paramName.length > 0) && (paramValue != null) && (paramValue.length > 0)) { StringBuffer sb = new StringBuffer("select max(model." + sumPropertyName + ") from " + persistentClass.getName() + " model where 1=1 "); appendQL(sb, paramName, paramValue); - if(StringUtils.isNotBlank(groupByName)){ + if (StringUtils.isNotBlank(groupByName)) { sb.append(" group by model." + groupByName); } Query query = entityManager.createQuery(sb.toString()); - setParameter(query,paramName,paramValue); + setParameter(query, paramName, paramValue); return getNumberByResultList(query.getResultList()); - }else{ + } else { throw new IllegalArgumentException("sum查询错误!paramName:" + paramName + ",paramValue:" + paramValue); } } @Override public double findMinByProperty(String sumPropertyName, String groupByName, String propertyName, Object value) { - return findMinByProperties(sumPropertyName,groupByName,new String[]{propertyName},new Object[]{value}); + return findMinByProperties(sumPropertyName, groupByName, new String[]{propertyName}, new Object[]{value}); } @Override @@ -1494,28 +1498,28 @@ public class BaseRepositoryImpl extends SimpleJpaRep StringBuffer sb = new StringBuffer("select min(model." + sumPropertyName + ") from " + persistentClass.getName() + " model where 1=1 "); appendQL(sb, paramName, paramValue); - if(StringUtils.isNotBlank(groupByName)) { + if (StringUtils.isNotBlank(groupByName)) { sb.append(" group by model." + groupByName); } Query query = entityManager.createQuery(sb.toString()); - setParameter(query,paramName,paramValue); + setParameter(query, paramName, paramValue); return getNumberByResultList(query.getResultList()); - }else{ + } else { throw new IllegalArgumentException("sum查询错误!paramName:" + paramName + ",paramValue:" + paramValue); } } //从结果集中获取数字转换 - public double getNumberByResultList(List objList){ + public double getNumberByResultList(List objList) { double num = 0.0; - if(objList != null && objList.size() > 0){ - if(objList.get(0) != null){ + if (objList != null && objList.size() > 0) { + if (objList.get(0) != null) { try { num = Double.parseDouble(objList.get(0).toString()); - }catch(NumberFormatException ne){ - LOGGER.error("数字转换出错!",ne); + } catch (NumberFormatException ne) { + LOGGER.error("数字转换出错!", ne); } } }