浏览代码

分页设置修改

shenhao 5 年之前
父节点
当前提交
0da93a697f
共有 1 个文件被更改,包括 48 次插入48 次删除
  1. 48 48
      src/main/java/com/ssj/framework/core/persistence/PagingHibernateJdbcDao.java

+ 48 - 48
src/main/java/com/ssj/framework/core/persistence/PagingHibernateJdbcDao.java

@@ -16,7 +16,7 @@ import java.util.List;
 import java.util.Map;
 
 /**
- * 
+ *
  * 类名称:PagingHibernateJdbcDao<br>
  * 类描述:基于Hibernate的原生sql分页查询支持多数据库<br>
  * @version v1.0
@@ -40,38 +40,38 @@ public class PagingHibernateJdbcDao {
      * 批量插入
      * @param list
      */
-	 @Transactional   
-	 public void batchInsert(@SuppressWarnings("rawtypes") List list){
-		 for (int i = 0; i < list.size(); i++) {
-			 em.persist(list.get(i));
-			 if (i % 30 == 0) {
-				 em.flush();
-				 em.clear();
-			 }
-		  }
-	 }
-	 @Transactional   
-	 public void batchInsertObject(Object object){
-			 em.persist(object);
-	 }
-	 /**
-	  * 批量更新
-	  * @param list
-	  */
-	 @Transactional   
-	 public void batchUpdate(@SuppressWarnings("rawtypes") List list){
-		 for (int i = 0; i < list.size(); i++) {
-			 em.merge(list.get(i));
-			 if (i % 30 == 0) {
-				 em.flush();
-				 em.clear();
-			 }
-		 }
-	 }
+    @Transactional
+    public void batchInsert(@SuppressWarnings("rawtypes") List list){
+        for (int i = 0; i < list.size(); i++) {
+            em.persist(list.get(i));
+            if (i % 30 == 0) {
+                em.flush();
+                em.clear();
+            }
+        }
+    }
+    @Transactional
+    public void batchInsertObject(Object object){
+        em.persist(object);
+    }
+    /**
+     * 批量更新
+     * @param list
+     */
+    @Transactional
+    public void batchUpdate(@SuppressWarnings("rawtypes") List list){
+        for (int i = 0; i < list.size(); i++) {
+            em.merge(list.get(i));
+            if (i % 30 == 0) {
+                em.flush();
+                em.clear();
+            }
+        }
+    }
 
     /**
      * count查询
-     * 
+     *
      * @param sql 查询语句
      * @return 结果集行数
      */
@@ -82,7 +82,7 @@ public class PagingHibernateJdbcDao {
 
     /**
      * 带参数count查询
-     * 
+     *
      * @param sql 查询语句,参数用 ? 代替
      * @param args 查询参数
      * @return 结果集行数
@@ -111,16 +111,16 @@ public class PagingHibernateJdbcDao {
     }
     @SuppressWarnings("unchecked")
     public <T> List<T> findList(String sql , Object[] args, Class<T> clazz){
-    	Query query = createSQLQuery(sql);
-    	 query = setParameters(query, args);
-    	 query.setResultTransformer(new EntityResultTransformer(clazz));
-    	List<T> results =query.list();
-    	return results;
+        Query query = createSQLQuery(sql);
+        query = setParameters(query, args);
+        query.setResultTransformer(new EntityResultTransformer(clazz));
+        List<T> results =query.list();
+        return results;
     }
 
     /**
      * 分页查询:查询结果集
-     * 
+     *
      * @param sql 查询语句
      * @param page 分页条件
      * @param clazz 返回domain实体的class
@@ -143,7 +143,7 @@ public class PagingHibernateJdbcDao {
 
     /**
      * 分页查询:查询结果集
-     * 
+     *
      * @param sql 查询语句,参数用 ? 代替
      * @param args 查询参数
      * @param page 分页条件
@@ -168,7 +168,7 @@ public class PagingHibernateJdbcDao {
 
     /**
      * 分页查询:查询结果集
-     * 
+     *
      * @param sql 查询语句
      * @param page 分页条件
      * @return 分页实体
@@ -210,7 +210,7 @@ public class PagingHibernateJdbcDao {
 
     /**
      * 分页查询:查询结果集
-     * 
+     *
      * @param sql 查询语句,参数用 ? 代替
      * @param args 查询参数
      * @param page 分页条件
@@ -233,12 +233,12 @@ public class PagingHibernateJdbcDao {
     }
     @SuppressWarnings("unchecked")
     public List<Map<String, Object>> findMap(String sql, Object[] args) {
-    	  List<Map<String, Object>> results;
-    		Query query = createSQLQuery(sql);
-    		query = setParameters(query, args);
-    		query.setResultTransformer(new MapResultTransformer());
-    		results = query.list();
-    	return results;
+        List<Map<String, Object>> results;
+        Query query = createSQLQuery(sql);
+        query = setParameters(query, args);
+        query.setResultTransformer(new MapResultTransformer());
+        results = query.list();
+        return results;
     }
 
     // 创建count语句
@@ -267,7 +267,7 @@ public class PagingHibernateJdbcDao {
 
     // 设置分页参数
     private Query setPageable(Query query, Pageable page) {
-        query.setFirstResult(page.getPageNumber());
+        query.setFirstResult(page.getOffset());
         query.setMaxResults(page.getPageSize());
         return query;
     }
@@ -300,7 +300,7 @@ public class PagingHibernateJdbcDao {
             }
         }
 
-        if (temp % batchSize != 0) {
+        if (temp > 0 && temp % batchSize != 0) {
             em.flush();
             em.clear();
         }