一、调用存储过程
方式一:
/**
* 方法功能说明:通过存储过程分页,获取分页信息以及查询记录(装在list中);
* List.get(0)= hsTable; //存放分页信息(tableName/token/pageNo/pageSize/recordsCount/pagesCount)--hsTable.get(key)
* List.get(1)= recordsList; //存放分页查询所获的记录--遍历记录(每一条记录是一个map)
* 创建:2012-10-16 by hsy
* 修改:日期 by 修改者
* 修改内容:
* @参数: @param inputXML
* @参数: @return
* @return List
* @throws
*/
private List getOutputRecords(String inputXML)throws Exception{
List list = new ArrayList();
try {
String[] params = xxm.parseXml4GetPageRecords(inputXML);//{tableName,sqlWhere,orderColumn,orderType,pageSize,pageNo,token};
final String tableName = params[0];
final String sqlWhere = params[1];
final String orderColumn = params[2];
final String orderType = params[3];
final int pageSize = Integer.parseInt(params[4]);
final int pageNo = Integer.parseInt(params[5]);
final String token = params[6];
String procedure = "{call prc_query(?,?,?,?,?,?,?,?,?)}";
list = (List) this.getJdbcTemplate().execute(procedure,new CallableStatementCallback(){
public Object doInCallableStatement(CallableStatement cs) throws SQLException, DataAccessException {
cs.setString(1, tableName