ITPub博客

首页 > 数据库 > MySQL > MySQL分页存储过程

MySQL分页存储过程

MySQL 作者:xf_xbh 时间:2013-04-21 22:08:38 0 删除 编辑
DROP PROCEDURE IF EXISTS `PageList`;
DELIMITER ;;
CREATE DEFINER=`shihuan`@`localhost` PROCEDURE `PageList`(IN `p_tablename` varchar(2000),IN `p_fieldname` varchar(4000),IN `p_sumfieldname` varchar(4000),IN `p_pagesize` bigint,IN `p_orderstring` varchar(1000),IN `p_sorttype` bit,IN `p_wherestring` varchar(4000),IN `p_distinct` int,INOUT `p_currpage` bigint,OUT `p_totalpagecount` bigint,OUT `p_totalrecord` bigint,OUT `p_sqlstr` varchar(20000),OUT `p_subsumresult` varchar(4000),OUT `p_sumresult` varchar(4000))
BEGIN
DECLARE v_sql VARCHAR(20000);   -- 存储sql语句
 DECLARE v_countsql VARCHAR(4000);   -- 存储统计总数的sql语句
 DECLARE v_limit VARCHAR(100);   -- 存储拼接的分页子句
 DECLARE v_startline BIGINT DEFAULT 0;  -- 存储分页起始行
 DECLARE v_wherestring VARCHAR(4000) DEFAULT ' where 1=1 and ';  -- 拼接where条件子句
 DECLARE v_orderstring VARCHAR(1000) DEFAULT ' order by ';   -- 拼接排序条件子句
 DECLARE v_sorttype VARCHAR(10) DEFAULT ' asc';   -- 排序类型, 默认为升序
  DECLARE v_pageindex BIGINT DEFAULT 1;   -- 存储总页数
  DECLARE v_lastcount BIGINT DEFAULT p_pagesize;   -- 存储最后一页记录数
  DECLARE v_fieldname VARCHAR(4000) DEFAULT p_fieldname;   -- 存储查询字段
  DECLARE v_distinct VARCHAR(20) DEFAULT 'distinct ';  -- 拼接distinct子句
  DECLARE v_sumsql VARCHAR(20000);   -- 存储所有记录SUM形式的sql语句
 DECLARE v_sumfieldname VARCHAR(4000) DEFAULT p_sumfieldname;   -- 存储需要SUM的字段
  DECLARE v_tmpsumfieldname VARCHAR(500);   -- 存储截取下来的字段名
 DECLARE v_sumflag INT DEFAULT 0;  -- 存储标识位
  DECLARE v_regulateflag INT DEFAULT 0;   -- 存储是否是最后一个SUM的字段标识
  DECLARE v_nolimit_distinctsql VARCHAR(20000);   -- 存储没有limit子句的distinct语句
 DECLARE v_subsumsql VARCHAR(20000);  -- 存储当前页记录SUM形式的sql语句
 DECLARE v_limit_distinctsql VARCHAR(20000);   -- 存储有limit子句的distinct语句
  DECLARE v_subsumresult VARCHAR(4000);  -- 存储分页后SUM返回的字符串
  DECLARE v_sumresult VARCHAR(4000);   -- 存储SUM返回的字符串
 
 
 SET v_startline = (p_currpage-1)*p_pagesize;  -- 计算起始行数
  SET v_limit = concat(' limit ', v_startline, ',', p_pagesize);  -- 拼接的分页子句
 -- p_sorttype为0是升序, p_sorttype为1是降序
 IF (p_sorttype = 1) THEN
  SET v_sorttype = ' desc';   -- 设置升序还是降序,默认是升序
 END IF;
 -- 处理排序条件为空的情况
 IF (p_orderstring='') THEN
  SET v_orderstring = '';
    SET v_sorttype = '';
 END IF;
 -- 处理查询条件为空的情况
 IF (p_wherestring='') THEN
  SET v_wherestring = '';
 END IF;
 -- 处理查询字段为空的情况
 IF (p_fieldname='') THEN
  SET v_fieldname = '*';
    SET v_distinct = '';
 END IF;
 
 IF (p_wherestring<>'') THEN
  IF (p_distinct=0) THEN
   -- set v_sql = concat('select SQL_CALC_FOUND_ROWS ', v_fieldname, ' from ', p_tablename, v_wherestring, p_wherestring, v_orderstring, p_orderstring, v_sorttype, v_limit);
   -- set v_countsql = concat('select FOUND_ROWS() into @rowstotal from dual');
   set v_sql = concat('select ', v_fieldname, ' from ', p_tablename, v_wherestring, p_wherestring, v_orderstring, p_orderstring, v_sorttype, v_limit);
   set v_countsql = concat('select count(1) into @rowstotal from (select ', v_fieldname, ' from ', p_tablename, v_wherestring, p_wherestring, v_orderstring, p_orderstring, v_sorttype, ') tmpcountld');
   
   IF (v_sumfieldname<>'') THEN
    IF ((INSTR(v_sumfieldname, ',')) = 0) THEN
     SET v_sumsql = concat('select concat(sum(',v_sumfieldname,')');
    ELSE
     REPEAT
      IF (v_regulateflag=1) THEN
       SET v_tmpsumfieldname = v_sumfieldname;
      ELSE
       SET v_tmpsumfieldname = SUBSTRING(v_sumfieldname FROM 1 FOR INSTR(v_sumfieldname, ',')-1);
      END IF;
      IF (v_sumflag=0) THEN
       SET v_sumsql = concat('select concat(sum(',v_tmpsumfieldname,')');
       SET v_sumflag=-1;
      ELSE
       SET v_sumsql = concat(v_sumsql, ', ''|''', ', sum(', v_tmpsumfieldname,')');
      END IF;
      SET v_sumfieldname = SUBSTRING(v_sumfieldname FROM INSTR(v_sumfieldname, ',')+1 FOR LENGTH(v_sumfieldname));
      IF (v_regulateflag=1) THEN
       SET v_sumfieldname = '';
      END IF;
      IF (INSTR(v_sumfieldname, ',')=0 AND v_sumfieldname<>'') THEN
       SET v_regulateflag = 1;
      END IF;
     UNTIL (v_sumfieldname='') END REPEAT;
    END IF;
    SET v_sumsql = concat(v_sumsql, ') into ');
    SET v_subsumsql = concat(v_sumsql, '@subsumresult from (select ', v_fieldname, ' from ', p_tablename, v_wherestring, p_wherestring, v_orderstring, p_orderstring, v_sorttype, v_limit, ') tmpsumld');
    SET v_sumsql = concat(v_sumsql, '@sumresult from (select ', v_fieldname, ' from ', p_tablename, v_wherestring, p_wherestring, v_orderstring, p_orderstring, v_sorttype, ') tmpsumld');
   END IF;
  ELSE
   set v_sql = concat('select ', v_distinct, v_fieldname, ' from ', p_tablename, v_wherestring, p_wherestring, v_orderstring, p_orderstring, v_sorttype, v_limit);
   set v_countsql = concat('select count(1) into @rowstotal from (select ', v_distinct, v_fieldname, ' from ', p_tablename, v_wherestring, p_wherestring, v_orderstring, p_orderstring, v_sorttype, ') tmpcountld');
   set v_limit_distinctsql = concat('(select ', v_distinct, v_fieldname, ' from ', p_tablename, v_wherestring, p_wherestring, v_orderstring, p_orderstring, v_sorttype, v_limit, ') tmpsumld');
   set v_nolimit_distinctsql = concat('(select ', v_distinct, v_fieldname, ' from ', p_tablename, v_wherestring, p_wherestring, v_orderstring, p_orderstring, v_sorttype, ') tmpsumld');
   IF (v_sumfieldname<>'') THEN
    IF ((INSTR(v_sumfieldname, ',')) = 0) THEN
     SET v_sumsql = concat('select concat(sum(',v_sumfieldname,')');
    ELSE
     REPEAT
      IF (v_regulateflag=1) THEN
       SET v_tmpsumfieldname = v_sumfieldname;
      ELSE
       SET v_tmpsumfieldname = SUBSTRING(v_sumfieldname FROM 1 FOR INSTR(v_sumfieldname, ',')-1);
      END IF;
      IF (v_sumflag=0) THEN
       SET v_sumsql = concat('select concat(sum(',v_tmpsumfieldname,')');
       SET v_sumflag=-1;
      ELSE
       SET v_sumsql = concat(v_sumsql, ', ''|''', ', sum(', v_tmpsumfieldname,')');
      END IF;
      SET v_sumfieldname = SUBSTRING(v_sumfieldname FROM INSTR(v_sumfieldname, ',')+1 FOR LENGTH(v_sumfieldname));
      IF (v_regulateflag=1) THEN
       SET v_sumfieldname = '';
      END IF;
      IF (INSTR(v_sumfieldname, ',')=0 AND v_sumfieldname<>'') THEN
       SET v_regulateflag = 1;
      END IF;
     UNTIL (v_sumfieldname='') END REPEAT;
    END IF;
    SET v_sumsql = concat(v_sumsql, ') into ');
    SET v_subsumsql = concat(v_sumsql, '@subsumresult from ', v_limit_distinctsql);
    SET v_sumsql = concat(v_sumsql, '@sumresult from ', v_nolimit_distinctsql);
   END IF;
  END IF;
  ELSE
  IF (p_distinct=0) THEN
   set v_sql = concat('select ', v_fieldname, ' from ', p_tablename, v_orderstring, p_orderstring, v_sorttype, v_limit);
   set v_countsql = concat('select count(1) into @rowstotal from (select ', v_fieldname, ' from ', p_tablename, v_orderstring, p_orderstring, v_sorttype, ') tmpcountld');
   IF (v_sumfieldname<>'') THEN
    IF ((INSTR(v_sumfieldname, ',')) = 0) THEN
     SET v_sumsql = concat('select concat(sum(',v_sumfieldname,')');
    ELSE
     REPEAT
      IF (v_regulateflag=1) THEN
       SET v_tmpsumfieldname = v_sumfieldname;
      ELSE
       SET v_tmpsumfieldname = SUBSTRING(v_sumfieldname FROM 1 FOR INSTR(v_sumfieldname, ',')-1);
      END IF;
      IF (v_sumflag=0) THEN
       SET v_sumsql = concat('select concat(sum(',v_tmpsumfieldname,')');
       SET v_sumflag=-1;
      ELSE
       SET v_sumsql = concat(v_sumsql, ', ''|''', ', sum(', v_tmpsumfieldname,')');
      END IF;
      SET v_sumfieldname = SUBSTRING(v_sumfieldname FROM INSTR(v_sumfieldname, ',')+1 FOR LENGTH(v_sumfieldname));
      IF (v_regulateflag=1) THEN
       SET v_sumfieldname = '';
      END IF;
      IF (INSTR(v_sumfieldname, ',')=0 AND v_sumfieldname<>'') THEN
       SET v_regulateflag = 1;
      END IF;
     UNTIL (v_sumfieldname='') END REPEAT;
    END IF;
    SET v_sumsql = concat(v_sumsql, ') into ');
    SET v_subsumsql = concat(v_sumsql, '@subsumresult from (select ', v_fieldname, ' from ', p_tablename, v_orderstring, p_orderstring, v_sorttype, v_limit, ') tmpsumld');
    SET v_sumsql = concat(v_sumsql, '@sumresult from (select ', v_fieldname, ' from ', p_tablename, v_orderstring, p_orderstring, v_sorttype, ') tmpsumld');
   END IF;
  ELSE
   set v_sql = concat('select ', v_distinct, v_fieldname, ' from ', p_tablename, v_orderstring, p_orderstring, v_sorttype, v_limit);
   set v_countsql = concat('select count(1) into @rowstotal from (select ', v_distinct, v_fieldname, ' from ', p_tablename, v_orderstring, p_orderstring, v_sorttype, ') tmpcountld');
   set v_limit_distinctsql = concat('(select ', v_distinct, v_fieldname, ' from ', p_tablename, v_orderstring, p_orderstring, v_sorttype, v_limit, ') tmpsumld');
   set v_nolimit_distinctsql = concat('(select ', v_distinct, v_fieldname, ' from ', p_tablename, v_orderstring, p_orderstring, v_sorttype, ') tmpsumld');
   IF (v_sumfieldname<>'') THEN
    IF ((INSTR(v_sumfieldname, ',')) = 0) THEN
     SET v_sumsql = concat('select concat(sum(',v_sumfieldname,')');
    ELSE
     REPEAT
      IF (v_regulateflag=1) THEN
       SET v_tmpsumfieldname = v_sumfieldname;
      ELSE
       SET v_tmpsumfieldname = SUBSTRING(v_sumfieldname FROM 1 FOR INSTR(v_sumfieldname, ',')-1);
      END IF;
      IF (v_sumflag=0) THEN
       SET v_sumsql = concat('select concat(sum(',v_tmpsumfieldname,')');
       SET v_sumflag=-1;
      ELSE
       SET v_sumsql = concat(v_sumsql, ', ''|''', ', sum(', v_tmpsumfieldname,')');
      END IF;
      SET v_sumfieldname = SUBSTRING(v_sumfieldname FROM INSTR(v_sumfieldname, ',')+1 FOR LENGTH(v_sumfieldname));
      IF (v_regulateflag=1) THEN
       SET v_sumfieldname = '';
      END IF;
      IF (INSTR(v_sumfieldname, ',')=0 AND v_sumfieldname<>'') THEN
       SET v_regulateflag = 1;
      END IF;
     UNTIL (v_sumfieldname='') END REPEAT;
    END IF;
    SET v_sumsql = concat(v_sumsql, ') into ');
    SET v_subsumsql = concat(v_sumsql, '@subsumresult from ', v_limit_distinctsql);
    SET v_sumsql = concat(v_sumsql, '@sumresult from ', v_nolimit_distinctsql);
   END IF;
  END IF;
 END IF;
 
 SET @v_countsql = v_countsql;
 PREPARE count_stmt FROM @v_countsql;
 EXECUTE count_stmt;
 DEALLOCATE PREPARE count_stmt;
 SET p_totalrecord = @rowstotal;  -- 得到总记录数
 
 SET v_pageindex = p_totalrecord DIV p_pagesize;
 SET v_lastcount = p_totalrecord MOD p_pagesize;
 IF (v_lastcount > 0) THEN
  SET p_totalpagecount = v_pageindex + 1;
 ELSE
  SET p_totalpagecount = v_pageindex;
 END IF;
 
 IF (p_sumfieldname<>'') THEN
  SET @v_subsumsql = v_subsumsql;
  PREPARE subsum_stmt FROM @v_subsumsql;
  EXECUTE subsum_stmt;
  DEALLOCATE PREPARE subsum_stmt;
  SET p_subsumresult = @subsumresult;  -- 得到所有需要SUM的字段的小计数量
  SET @v_sumsql = v_sumsql;
  PREPARE sum_stmt FROM @v_sumsql;
  EXECUTE sum_stmt;
  DEALLOCATE PREPARE sum_stmt;
  SET p_sumresult = @sumresult;  -- 得到所有需要SUM的字段的总计数量
 ELSE
  SET p_subsumresult = -1;  -- 如果没有传入需要SUM的字段则返回-1
    SET p_sumresult = -1;  -- 如果没有传入需要SUM的字段则返回-1
 END IF;
 
 SET p_sqlstr = v_sql;
 SET @v_sql = v_sql;
 PREPARE record_stmt FROM @v_sql;
 EXECUTE record_stmt;
 DEALLOCATE PREPARE record_stmt;
END
;
##################################################################################################
-- 调用如下:
SET @currpage = 1;

CALL PageList (
't_mysumd t',
't.id,t.mynum,t.myname',
'tmpsumld.id,tmpsumld.mynum',
  -- '',
3,
't.id',
0,  -- desc
-- '2=2 GROUP BY t.myname',
  't.id>0',
0,  -- distinct
@currpage,
@p_totalpagecount,
@p_totalrecord,
@p_sqlstr,
@p_subsumresult,
@p_sumresult
);

SELECT @currpage, @p_totalpagecount, @p_totalrecord, @p_subsumresult, @p_sumresult FROM DUAL;

SELECT @p_sqlstr FROM DUAL;

##################################################################################################

DROP PROCEDURE IF EXISTS `pro_pagelist`;
DELIMITER ;;
CREATE DEFINER=`shihuan`@`localhost` PROCEDURE `pro_pagelist`(IN `p_tablename` varchar(2000),IN `p_fieldname` varchar(4000),IN `p_pagesize` bigint,IN `p_orderstring` varchar(1000),IN `p_sorttype` bit,IN `p_wherestring` varchar(4000),IN `p_distinct` int,INOUT `p_currpage` bigint,OUT `p_totalpagecount` bigint,OUT `p_totalrecord` bigint,OUT `p_sqlstr` varchar(20000))
BEGIN
DECLARE v_sql VARCHAR(20000);   -- 存储sql语句
DECLARE v_countsql VARCHAR(4000);   -- 存储统计总数的sql语句
DECLARE v_limit VARCHAR(100);   -- 存储拼接的分页子句
DECLARE v_startline BIGINT DEFAULT 0;  -- 存储分页起始行
DECLARE v_wherestring VARCHAR(4000) DEFAULT ' where 1=1 and ';  -- 拼接where条件子句
DECLARE v_orderstring VARCHAR(1000) DEFAULT ' order by ';   -- 拼接排序条件子句
DECLARE v_sorttype VARCHAR(10) DEFAULT ' asc';   -- 排序类型, 默认为升序
  DECLARE v_pageindex BIGINT DEFAULT 1;   -- 存储总页数
  DECLARE v_lastcount BIGINT DEFAULT p_pagesize;   -- 存储最后一页记录数
  DECLARE v_fieldname VARCHAR(4000) DEFAULT p_fieldname;   -- 存储查询字段
  DECLARE v_distinct VARCHAR(20) DEFAULT 'distinct ';  -- 拼接distinct子句
SET v_startline = (p_currpage-1)*p_pagesize;  -- 计算起始行数
  SET v_limit = concat(' limit ', v_startline, ',', p_pagesize);  -- 拼接的分页子句
-- p_sorttype为0是升序, p_sorttype为1是降序
IF (p_sorttype = 1) THEN
SET v_sorttype = ' desc';   -- 设置升序还是降序,默认是升序
END IF;

-- 处理排序条件为空的情况
IF (p_orderstring='') THEN
SET v_orderstring = '';
    SET v_sorttype = '';
END IF;
-- 处理查询条件为空的情况
IF (p_wherestring='') THEN
SET v_wherestring = '';
END IF;
-- 处理查询字段为空的情况
IF (p_fieldname='') THEN
SET v_fieldname = '*';
    SET v_distinct = '';
END IF;

IF (p_wherestring<>'') THEN
IF (p_distinct=0) THEN
set v_sql = concat('select ', v_fieldname, ' from ', p_tablename, v_wherestring, p_wherestring, v_orderstring, p_orderstring, v_sorttype, v_limit);
set v_countsql = concat('select count(1) into @rowstotal from (select ', v_fieldname, ' from ', p_tablename, v_wherestring, p_wherestring, v_orderstring, p_orderstring, v_sorttype, ') tmpcountld');
ELSE
set v_sql = concat('select ', v_distinct, v_fieldname, ' from ', p_tablename, v_wherestring, p_wherestring, v_orderstring, p_orderstring, v_sorttype, v_limit);
set v_countsql = concat('select count(1) into @rowstotal from (select ', v_distinct, v_fieldname, ' from ', p_tablename, v_wherestring, p_wherestring, v_orderstring, p_orderstring, v_sorttype, ') tmpcountld');
END IF;
  ELSE
IF (p_distinct=0) THEN
set v_sql = concat('select ', v_fieldname, ' from ', p_tablename, v_orderstring, p_orderstring, v_sorttype, v_limit);
set v_countsql = concat('select count(1) into @rowstotal from (select ', v_fieldname, ' from ', p_tablename, v_orderstring, p_orderstring, v_sorttype, ') tmpcountld');
ELSE
set v_sql = concat('select ', v_distinct, v_fieldname, ' from ', p_tablename, v_orderstring, p_orderstring, v_sorttype, v_limit);
set v_countsql = concat('select count(1) into @rowstotal from (select ', v_distinct, v_fieldname, ' from ', p_tablename, v_orderstring, p_orderstring, v_sorttype, ') tmpcountld');
END IF;
END IF;
SET @v_countsql = v_countsql;
PREPARE count_stmt FROM @v_countsql;
EXECUTE count_stmt;
DEALLOCATE PREPARE count_stmt;

SET p_totalrecord = @rowstotal;  -- 得到总记录数

SET v_pageindex = p_totalrecord DIV p_pagesize;
SET v_lastcount = p_totalrecord MOD p_pagesize; 
IF (v_lastcount > 0) THEN
SET p_totalpagecount = v_pageindex + 1; 
ELSE 
SET p_totalpagecount = v_pageindex;
END IF;

SET p_sqlstr = v_sql;
SET @v_sql = v_sql;
PREPARE record_stmt FROM @v_sql;
EXECUTE record_stmt;
DEALLOCATE PREPARE record_stmt;
END
;

##################################################################################################
Java中调用如下:
public List findObjectListByMultiPage(Object... values) {   //Hibernate中目前不支持返回值
    String sql = "";
        SQLQuery sqlQuery = getSession().createSQLQuery("{call pro_pagelist(?,?,?,?,?,?,?,?,@p_totalpagecount, @p_totalrecord, @p_sqlstr)}");
        StringBuilder sb = new StringBuilder();
sb.append(ConfigCommon.SQLFLAG).append(sql).append(ConfigCommon.LINEFEEDFLAG).append(ConfigCommon.PARAMSFLAG);
boolean isFirst = true;
        if (values.length > 0) {
        for (int i = 0; i < values.length; i++) {
        sqlQuery.setParameter(i, values[i]);
        if(isFirst){
        sb.append(ConfigCommon.CSPARAMLEFTFLAG).append(values[i]).append(ConfigCommon.CSPARAMRIGHTFLAG);
        isFirst = false;
        } else {
        sb.append(ConfigCommon.SEPARATEFLAG).append(ConfigCommon.CSPARAMLEFTFLAG).append(values[i]).append(ConfigCommon.CSPARAMRIGHTFLAG);
        }
            }
        }
        logger.info(sb.toString());
        List list = sqlQuery.list();
        System.out.println(list.size());
        for(int i=0; i
        Object[] objs = (Object[]) list.get(i);
        for(Object obj : objs){
        System.out.println(obj);
        }
        }
        return list;
    }
##################################################################################################
public Map findObjectMapByMultiPage(Object... values) {   //Jdbc支持OUT类型返回值
    Map resultmap = new HashMap();
    List list = new ArrayList();
    CallableStatement cs = null;
    ResultSet rs = null;
    try {
cs = getSession().connection().prepareCall("{call pro_pagelist(?,?,?,?,?,?,?,?,?,?,?)}");
StringBuilder sb = new StringBuilder();
StringBuilder sbparams = new StringBuilder();
sbparams.append(ConfigCommon.LINEFEEDFLAG).append(ConfigCommon.PARAMSFLAG);
boolean isFirst = true;
int paramslen = values.length;
if (paramslen > 0) {
for (int i = 0; i < paramslen; i++) {
        cs.setObject(i+1, values[i]);
        if(isFirst){
        sbparams.append(ConfigCommon.CSPARAMLEFTFLAG).append(values[i]).append(ConfigCommon.CSPARAMRIGHTFLAG);
        isFirst = false;
        } else {
        sbparams.append(ConfigCommon.SEPARATEFLAG).append(ConfigCommon.CSPARAMLEFTFLAG).append(values[i]).append(ConfigCommon.CSPARAMRIGHTFLAG);
        }
           }
}
cs.registerOutParameter("p_currpage", java.sql.Types.BIGINT);
cs.registerOutParameter("p_totalpagecount", java.sql.Types.BIGINT);
cs.registerOutParameter("p_totalrecord", java.sql.Types.BIGINT);
cs.registerOutParameter("p_sqlstr", java.sql.Types.LONGVARCHAR);
cs.execute();
long currpage = cs.getLong("p_currpage");
long totalpagecount = cs.getLong("p_totalpagecount");
long totalrecord = cs.getLong("p_totalrecord");
String sql = cs.getString("p_sqlstr");
sb.append(ConfigCommon.SQLFLAG).append(sql).append(sbparams.toString());
logger.info(sb.toString());
rs = cs.getResultSet();
ResultSetMetaData rsmd = rs.getMetaData();
int columncount = rsmd.getColumnCount();
while(rs.next()){
Map columnmap = new HashMap();
for(int i=1; i
columnmap.put(rsmd.getColumnName(i), rs.getObject(i));
}
list.add(columnmap);
}
resultmap.put("currpage", currpage);
resultmap.put("totalpagecount", totalpagecount);
resultmap.put("totalrecord", totalrecord);
resultmap.put("listitem", list);
rs.close();
cs.close();
} catch (HibernateException e) {
logger.error(e.getMessage(), e);
e.printStackTrace();
} catch (SQLException e) {
logger.error(e.getMessage(), e);
e.printStackTrace();
} finally {
try {
if(rs != null){
rs.close();
}
if(cs != null){
cs.close();
}
} catch (SQLException e) {
logger.error(e.getMessage(), e);
e.printStackTrace();
}
}
    return resultmap;
    }
##################################################################################################
<!-- 正文结束 -->

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/26197149/viewspace-1114613/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2011-08-22

  • 博文量
    1
  • 访问量
    982