From fd6552b4ac9c183486be090ead1d4dac12e33ad3 Mon Sep 17 00:00:00 2001 From: alwaysfrin <39822157+alwaysfrin@users.noreply.github.com> Date: Mon, 18 Mar 2019 18:46:44 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=9A=E6=97=B6=E4=BB=BB=E5=8A=A1=E5=B0=81?= =?UTF-8?q?=E8=A3=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pojo/base/jpa/daoimpl/BaseRepositoryImpl.java | 238 +++++++++++++-------- .../estsh/i3plus/pojo/platform/bean/SysTool.java | 9 +- 2 files changed, 153 insertions(+), 94 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 3b6f931..5509994 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 @@ -261,10 +261,14 @@ public class BaseRepositoryImpl extends SimpleJpaRep @Override public List listPager(Pager pager) { - return entityManager.createQuery("from " + persistentClass.getName()) - .setFirstResult(pager.getStartRow()) - .setMaxResults(pager.getPageSize()) - .getResultList(); + if(pager.getTotalRows() > 0) { + return entityManager.createQuery("from " + persistentClass.getName()) + .setFirstResult(pager.getStartRow()) + .setMaxResults(pager.getPageSize()) + .getResultList(); + }else{ + return new ArrayList(); + } } @Override @@ -474,41 +478,49 @@ public class BaseRepositoryImpl extends SimpleJpaRep @Override public List findByPropertyPage(String propertyName, Object value, String orderByStuff, Pager pager) { - String queryString = "from " + persistentClass.getSimpleName() + " as model where model." + propertyName + "= :" + propertyName + " " + orderByStuff; - return entityManager.createQuery(queryString) - .setParameter(propertyName, value) - .getResultList(); + 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{ + return new ArrayList(); + } } @Override public List findByPropertyPage(String[] propertyNames, Object[] values, String orderByStuff, Pager pager) { - if(propertyNames.length != values.length){ - throw new IllegalArgumentException("参数名的数量和参数值不匹配!propertyNames:" + propertyNames.length + ",values:" + values.length); - } - StringBuffer queryString = new StringBuffer(); - queryString.append("from " + persistentClass.getSimpleName() + " as model "); + if(pager.getTotalRows() > 0){ + if(propertyNames.length != values.length){ + throw new IllegalArgumentException("参数名的数量和参数值不匹配!propertyNames:" + propertyNames.length + ",values:" + values.length); + } + StringBuffer queryString = new StringBuffer(); + queryString.append("from " + persistentClass.getSimpleName() + " as model "); - int size = propertyNames.length; - if (size > 0) { - queryString.append("where 1=1 "); - } + int size = propertyNames.length; + if (size > 0) { + queryString.append("where 1=1 "); + } - for (int i = 0; i < size; i++) { - if(values[i] != null) { - queryString.append(" and model." + propertyNames[i] + "= :" + propertyNames[i]); + for (int i = 0; i < size; i++) { + if(values[i] != null) { + queryString.append(" and model." + propertyNames[i] + "= :" + propertyNames[i]); + } } - } - if(orderByStuff != null && orderByStuff.length() > 0){ - queryString.append(orderByStuff); - } + if(orderByStuff != null && orderByStuff.length() > 0){ + queryString.append(orderByStuff); + } - Query queryObject = entityManager.createQuery(queryString.toString()); - for (int i = 0; i < size; i++) { - queryObject.setParameter(propertyNames[i], values[i]); - } + Query queryObject = entityManager.createQuery(queryString.toString()); + for (int i = 0; i < size; i++) { + queryObject.setParameter(propertyNames[i], values[i]); + } - return queryObject.setFirstResult(pager.getStartRow()).setMaxResults(pager.getPageSize()).getResultList(); + return queryObject.setFirstResult(pager.getStartRow()).setMaxResults(pager.getPageSize()).getResultList(); + }else{ + return new ArrayList(); + } } @Override @@ -594,47 +606,55 @@ public class BaseRepositoryImpl extends SimpleJpaRep @Override public List findByHqlWherePage(String hqlWhere, Pager pager, String[] propertyNames, Object[] values, String orderByStuff) { - if(propertyNames.length != values.length){ - throw new IllegalArgumentException("参数名的数量和参数值不匹配!propertyNames:" + propertyNames.length + ",values:" + values.length); - } - StringBuffer queryString = new StringBuffer(); - queryString.append("from " + persistentClass.getSimpleName() + " as model where 1=1 "); + if(pager.getTotalRows() > 0){ + if(propertyNames.length != values.length){ + throw new IllegalArgumentException("参数名的数量和参数值不匹配!propertyNames:" + propertyNames.length + ",values:" + values.length); + } + StringBuffer queryString = new StringBuffer(); + queryString.append("from " + persistentClass.getSimpleName() + " as model where 1=1 "); - if (hqlWhere != null && hqlWhere.length() > 0) { - queryString.append(hqlWhere); - } + if (hqlWhere != null && hqlWhere.length() > 0) { + queryString.append(hqlWhere); + } - int size = propertyNames.length; - for (int i = 0; i < size; i++) { - if(values[i] != null) { - queryString.append(" and model." + propertyNames[i] + "= :" + propertyNames[i]); + int size = propertyNames.length; + for (int i = 0; i < size; i++) { + if(values[i] != null) { + queryString.append(" and model." + propertyNames[i] + "= :" + propertyNames[i]); + } } - } - queryString.append(" " + orderByStuff); + queryString.append(" " + orderByStuff); - Query queryObject = entityManager.createQuery(queryString.toString()).setFirstResult(pager.getStartRow()).setMaxResults(pager.getPageSize()); - for (int i = 0; i < size; i++) { - if(values[i] != null) { - queryObject.setParameter(propertyNames[i], values[i]); + Query queryObject = entityManager.createQuery(queryString.toString()).setFirstResult(pager.getStartRow()).setMaxResults(pager.getPageSize()); + for (int i = 0; i < size; i++) { + if(values[i] != null) { + queryObject.setParameter(propertyNames[i], values[i]); + } } - } - return queryObject.getResultList(); + return queryObject.getResultList(); + }else{ + return new ArrayList(); + } } @Override public List findByHqlWherePage(String hqlWhere, Pager pager) { - StringBuffer queryString = new StringBuffer(); - queryString.append("from " + persistentClass.getSimpleName() + " as model where 1=1 "); + if(pager.getTotalRows() > 0) { + StringBuffer queryString = new StringBuffer(); + queryString.append("from " + persistentClass.getSimpleName() + " as model where 1=1 "); - if (hqlWhere != null && hqlWhere.length() > 0) { - queryString.append(hqlWhere); - } + if (hqlWhere != null && hqlWhere.length() > 0) { + queryString.append(hqlWhere); + } - return entityManager.createQuery(queryString.toString()) + return entityManager.createQuery(queryString.toString()) .setFirstResult(pager.getStartRow()) .setMaxResults(pager.getPageSize()) .getResultList(); + }else{ + return new ArrayList(); + } } @Override @@ -680,31 +700,39 @@ public class BaseRepositoryImpl extends SimpleJpaRep @Override public List findByHqlPage(String hqlWhere, Pager pager) { - StringBuffer queryString = new StringBuffer(); - queryString.append("from " + persistentClass.getSimpleName() + " as model where 1=1 "); + if(pager.getTotalRows() > 0){ + StringBuffer queryString = new StringBuffer(); + queryString.append("from " + persistentClass.getSimpleName() + " as model where 1=1 "); - if (hqlWhere != null && hqlWhere.length() > 0) { - queryString.append(hqlWhere); - } + if (hqlWhere != null && hqlWhere.length() > 0) { + queryString.append(hqlWhere); + } - return entityManager.createQuery(queryString.toString()) - .setFirstResult(pager.getStartRow()) - .setMaxResults(pager.getPageSize()) - .getResultList(); + return entityManager.createQuery(queryString.toString()) + .setFirstResult(pager.getStartRow()) + .setMaxResults(pager.getPageSize()) + .getResultList(); + }else{ + return new ArrayList(); + } } @Override public List findByHqlPage(String hql, Pager pager, String[] paramName, Object[] paramValue) { - Query queryObject = entityManager.createQuery(hql); - for(int i=0;i 0) { + Query queryObject = entityManager.createQuery(hql); + for (int i = 0; i < paramName.length; i++) { + if (paramValue[i] != null) { + queryObject.setParameter(paramName[i], paramValue[i].toString()); + } } - } - return queryObject.setFirstResult(pager.getStartRow()) + return queryObject.setFirstResult(pager.getStartRow()) .setMaxResults(pager.getPageSize()) .getResultList(); + }else{ + return new ArrayList(); + } } @Override @@ -719,18 +747,26 @@ public class BaseRepositoryImpl extends SimpleJpaRep @Override public List findBySqlPage(String sql, Pager pager) { - return entityManager.createNativeQuery(sql) + if(pager.getTotalRows() > 0) { + return entityManager.createNativeQuery(sql) .setFirstResult(pager.getStartRow()) .setMaxResults(pager.getPageSize()) .getResultList(); + }else{ + return new ArrayList(); + } } @Override public List findBySqlPage(String sql, Class entity, Pager pager) { - return entityManager.createNativeQuery(sql,entity) - .setFirstResult(pager.getStartRow()) - .setMaxResults(pager.getPageSize()) - .getResultList(); + if(pager.getTotalRows() > 0){ + return entityManager.createNativeQuery(sql,entity) + .setFirstResult(pager.getStartRow()) + .setMaxResults(pager.getPageSize()) + .getResultList(); + }else{ + return new ArrayList(); + } } @Override @@ -793,17 +829,21 @@ public class BaseRepositoryImpl extends SimpleJpaRep @Override public List findColumnsByHql(String hql, String hqlWhere, String orderByStuff, Pager pager) { - StringBuffer queryString = new StringBuffer(); + if(pager.getTotalRows() > 0) { + StringBuffer queryString = new StringBuffer(); - queryString.append(hql + " as model where 1=1 "); + queryString.append(hql + " as model where 1=1 "); - if (hqlWhere != null && hqlWhere.length() > 0) { - queryString.append(hqlWhere); - } + if (hqlWhere != null && hqlWhere.length() > 0) { + queryString.append(hqlWhere); + } - queryString.append(" " + orderByStuff); + queryString.append(" " + orderByStuff); - return entityManager.createQuery(queryString.toString()).setFirstResult(pager.getStartRow()).setMaxResults(pager.getPageSize()).getResultList(); + return entityManager.createQuery(queryString.toString()).setFirstResult(pager.getStartRow()).setMaxResults(pager.getPageSize()).getResultList(); + }else{ + return new ArrayList(); + } } @Override @@ -825,19 +865,27 @@ public class BaseRepositoryImpl extends SimpleJpaRep @Override public List findByHqlPageObjects(String hql, Pager pager) { - return entityManager.createQuery(hql).setFirstResult(pager.getStartRow()).setMaxResults(pager.getPageSize()).getResultList(); + if(pager.getTotalRows() > 0){ + return entityManager.createQuery(hql).setFirstResult(pager.getStartRow()).setMaxResults(pager.getPageSize()).getResultList(); + }else{ + return new ArrayList(); + } } @Override public List findByHqlPageObjects(String hql, Pager pager, String[] paramName, Object[] paramValue) { - Query queryObject = entityManager.createQuery(hql); - for(int i=0;i 0) { + Query queryObject = entityManager.createQuery(hql); + for (int i = 0; i < paramName.length; i++) { + if (paramValue[i] != null) { + queryObject.setParameter(paramName[i], paramValue[i].toString()); + } } - } - return queryObject.setFirstResult(pager.getStartRow()).setMaxResults(pager.getPageSize()).getResultList(); + return queryObject.setFirstResult(pager.getStartRow()).setMaxResults(pager.getPageSize()).getResultList(); + }else{ + return new ArrayList(); + } } @Override @@ -847,10 +895,14 @@ public class BaseRepositoryImpl extends SimpleJpaRep @Override public List findBySqlObjListByPager(String sql, Pager pager) { - return entityManager.createNativeQuery(sql) - .setFirstResult(pager.getStartRow()) - .setMaxResults(pager.getPageSize()) - .getResultList(); + if(pager.getTotalRows() > 0){ + return entityManager.createNativeQuery(sql) + .setFirstResult(pager.getStartRow()) + .setMaxResults(pager.getPageSize()) + .getResultList(); + }else{ + return new ArrayList(); + } } /** diff --git a/modules/i3plus-pojo-platform/src/main/java/cn/estsh/i3plus/pojo/platform/bean/SysTool.java b/modules/i3plus-pojo-platform/src/main/java/cn/estsh/i3plus/pojo/platform/bean/SysTool.java index 92badd8..2a03f16 100644 --- a/modules/i3plus-pojo-platform/src/main/java/cn/estsh/i3plus/pojo/platform/bean/SysTool.java +++ b/modules/i3plus-pojo-platform/src/main/java/cn/estsh/i3plus/pojo/platform/bean/SysTool.java @@ -12,6 +12,7 @@ import org.hibernate.annotations.DynamicUpdate; import javax.persistence.Column; import javax.persistence.Entity; +import javax.persistence.Index; import javax.persistence.Table; /** @@ -26,7 +27,13 @@ import javax.persistence.Table; @DynamicInsert @DynamicUpdate @EqualsAndHashCode(callSuper = true) -@Table(name="SYS_TOOL") +@Table(name="SYS_TOOL",indexes = + { + @Index(name="sys_tool_tool_type_idx",columnList = "tool_type_id"), + @Index(name="sys_tool_tool_status_idx",columnList = "TOOL_STATUS"), + @Index(name="sys_tool_tool_conn_type_idx",columnList = "TOOL_CONN_TYPE"), + @Index(name="sys_tool_tool_data_type_idx",columnList = "TOOL_DATA_TYPE") + }) @Api(value="硬件设备表",description = "硬件设备表") public class SysTool extends BaseBean {