|
@ -96,9 +96,9 @@ public class DBPageExtract<T> {
|
|
|
forCount++;
|
|
|
//綫程返回值的值
|
|
|
List<AsyncResult<Boolean>> asyncResultPool=new ArrayList<AsyncResult<Boolean>>();
|
|
|
for(int page=0;page<forCount;page++){
|
|
|
for(int page=1;page<=forCount;page++){
|
|
|
//启动多线程采集数据
|
|
|
AsyncResult<Boolean> future= multiExtractData(sql,page*pageSize,pageSize,clazz,jdbcTemplate,params);
|
|
|
AsyncResult<Boolean> future= multiExtractData(sql,page,pageSize,clazz,jdbcTemplate,params);
|
|
|
asyncResultPool.add(future);
|
|
|
}
|
|
|
///循环判断,等待获取结果信息
|
|
@ -161,22 +161,20 @@ public class DBPageExtract<T> {
|
|
|
/**
|
|
|
* 多线程采集数据
|
|
|
* @param sql
|
|
|
* @param start
|
|
|
* @param page
|
|
|
* @param pageSize
|
|
|
* @param clazz
|
|
|
* @return
|
|
|
*/
|
|
|
@Async("dbExtractExecutor")
|
|
|
private AsyncResult<Boolean> multiExtractData(String sql, int start, int pageSize, Class<T> clazz, JdbcTemplate jdbcTemplate,Map<String,Object> params) throws Exception {
|
|
|
private AsyncResult<Boolean> multiExtractData(String sql, int page, int pageSize, Class<T> clazz, JdbcTemplate jdbcTemplate,Map<String,Object> params) throws Exception {
|
|
|
/* String finalSql=sql+" limit "+start+","+pageSize; //拼凑分页的语句
|
|
|
|
|
|
List<T> listTemp= jdbcTemplate.query(finalSql,new BeanPropertyRowMapper(clazz));*/
|
|
|
List<Map<String,Object>> mapList = new ArrayList<>();
|
|
|
start =1;
|
|
|
if (sql.contains("startTime")||sql.contains("endTime")){
|
|
|
mapList = hibenateUtils.createSQLQuery(sql,params,start,pageSize);
|
|
|
mapList = hibenateUtils.createSQLQuery(sql,params,page,pageSize);
|
|
|
}else {
|
|
|
mapList = hibenateUtils.createSQLQuery(sql,start,pageSize);
|
|
|
mapList = hibenateUtils.createSQLQuery(sql,page,pageSize);
|
|
|
}
|
|
|
List<T> listTemp = hibenateUtils.castMapToBean(mapList,clazz);
|
|
|
if (listTemp!=null&&listTemp.size()!=0){
|