博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
spring jdbctemplate调用存储过程,返回list对象
阅读量:6441 次
发布时间:2019-06-23

本文共 3711 字,大约阅读时间需要 12 分钟。

注:本文来源于《  

spring jdbctemplate调用存储过程,返回list对象

方法:

 
/**	 * 调用存储过程	 * @param spName	 */	@SuppressWarnings("unchecked")	public List
> executeSP(String procedure) { //procedure = "{call WCITY2_STATISTIC.sp_uservisit_stat(?)}"; return (List
>) jdbcTemplate.execute(procedure, new CallableStatementCallback() { public Object doInCallableStatement( CallableStatement cs) throws SQLException, DataAccessException { List
> list = new ArrayList
>(); cs.registerOutParameter(1, OracleTypes.CURSOR); cs.execute(); ResultSet rs = (ResultSet) cs.getObject(1); while (rs.next()) { HashMap
dataMap = new HashMap
(); ResultSetMetaData rsMataData = rs.getMetaData(); for (int i = 1; i <= rsMataData.getColumnCount(); i++) { dataMap.put(rsMataData.getColumnName(i), rs .getString(rsMataData.getColumnName(i))); } list.add(dataMap); } return list; } }); }

存储过程:

 
replace package WCITY2_STATISTIC   -- Author  : ADMINISTRATOR  -- Created : 2012/10/24 9:48:34  -- Purpose :   type Ref_Cursor  ref ;  --   sp_pager_stats;  --访问信息   sp_uservisit_stat(c_uservisit out Ref_Cursor); WCITY2_STATISTIC;  replace package body WCITY2_STATISTIC   --页面信息   sp_pager_stats       -- cur_page as select * from OMS_WIRELESS. TEMPLATE_FILE_WORKING;    ;   sp_pager_stats;  --访问信息   sp_uservisit_stat(c_uservisit out Ref_Cursor)     --定义游标    /*    cursor c_uservisit is    select t.city,t.username,t.username as telphone,'' as ip    from INTERFACE_WIRELESS.USER_LOGIN_LOG t ;*/       c_uservisit        t.city, t.username, t.username  telphone, ''  ip         INTERFACE_WIRELESS.USER_LOGIN_LOG t;  ; WCITY2_STATISTIC;

调用方法:

@SuppressWarnings("rawtypes")	 String getUserVisitStat(){		//List lst=jdbcService.executeSP("");		String  = "{call WCITY2_STATISTIC.sp_uservisit_stat(?)}";		List lst=spService.executeSP();		(lst!=){			System.out.println(lst.());		}		 SUCCESS;	}

自己编写的代码

 

import java..CallableStatement;import java..ResultSet;import java..ResultSetMetaData;import java..SQLException;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.dao.DataAccessException;import org.springframework.jdbc.core.CallableStatementCallback;import org.springframework.jdbc.core.JdbcTemplate;import com.tt.pwp.framework.data.dao.DaoFactory;import oracle.jdbc.OracleTypes; class FuncReportTaskService {    protected final Logger logger = LoggerFactory.getLogger(this.getClass());    @Autowired    private DaoFactory daoFactory;    /**     * 调用存储过程     * @param spName     */    @SuppressWarnings("unchecked")     List
> executeSP(String ) { JdbcTemplate jdbcTemplate = daoFactory.getDao().getJdbcTemplate(); // = "{call WCITY2_STATISTIC.sp_uservisit_stat(?)}"; (List
>) jdbcTemplate.(, new CallableStatementCallback() { Object doInCallableStatement( CallableStatement cs) throws SQLException, DataAccessException { List
> list = new ArrayList
>(); cs.registerOutParameter(1, OracleTypes.); cs.(); ResultSet rs = (ResultSet) cs.getObject(1); (rs.()) { HashMap
dataMap = new HashMap
(); ResultSetMetaData rsMataData = rs.getMetaData(); ( i = 1; i <= rsMataData.getColumnCount(); i++) { dataMap.put(rsMataData.getColumnName(i), rs .getString(rsMataData.getColumnName(i))); } list.(dataMap); } list; } }); }}

转载于:https://www.cnblogs.com/ios9/p/9370825.html

你可能感兴趣的文章
#我要上首页# 新版博客首页来了,做明星博主还会远吗?
查看>>
PHP缓存技术
查看>>
关于SOCKET资源堆栈
查看>>
笔记 百度搜索
查看>>
控制台 - 网络管理之华为交换机 S系列端口限速
查看>>
我的友情链接
查看>>
linux为启动菜单加密码
查看>>
MySQL5.5编译方式安装实战
查看>>
细谈Ehcache页面缓存的使用
查看>>
GridView如何设置View的初始样式
查看>>
Placeholder in IE8 and older
查看>>
SQL语句字符串处理大全
查看>>
环境变量的作用,为什么要设置环境变量?
查看>>
从尾到头打印单链表
查看>>
getopt
查看>>
我的第一个IT产品:PublicLecture@HK【My First IT Product】
查看>>
优秀员工与普通员工
查看>>
CCNP学习笔记15-RSTP
查看>>
DELL服务器iDRAC相关设置
查看>>
JVM学习笔记(一)------基本结构
查看>>