`
king520
  • 浏览: 174585 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
文章分类
社区版块
存档分类
最新评论

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

 
阅读更多

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

方法:

/**
	 * 调用存储过程
	 * @param spName
	 */
	@SuppressWarnings("unchecked")
	public List<HashMap<String, Object>> executeSP(String procedure) {
		//procedure = "{call WCITY2_STATISTIC.sp_uservisit_stat(?)}";
		return (List<HashMap<String, Object>>) jdbcTemplate.execute(procedure,
				new CallableStatementCallback() {
					public Object doInCallableStatement(
							CallableStatement cs) throws SQLException,
							DataAccessException {

						List<HashMap<String, Object>> list = new ArrayList<HashMap<String, Object>>();

						cs.registerOutParameter(1, OracleTypes.CURSOR);
						cs.execute();
						ResultSet rs = (ResultSet) cs.getObject(1);

						while (rs.next()) {
							HashMap<String, Object> dataMap = new HashMap<String, Object>();
							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;
					}
				});

	}

存储过程:

create or replace package WCITY2_STATISTIC is

  -- Author  : ADMINISTRATOR
  -- Created : 2012/10/24 9:48:34
  -- Purpose : 

  type Ref_Cursor is ref cursor;

  --
  procedure sp_pager_stats;

  --访问信息
  procedure sp_uservisit_stat(c_uservisit out Ref_Cursor);

end WCITY2_STATISTIC;

create or replace package body WCITY2_STATISTIC is

  --页面信息
  procedure sp_pager_stats is
  
  begin
    -- cur_page as select * from OMS_WIRELESS. TEMPLATE_FILE_WORKING;
  
    null;
  end sp_pager_stats;

  --访问信息
  procedure sp_uservisit_stat(c_uservisit out Ref_Cursor) as
    --定义游标
    /*
    cursor c_uservisit is 
    select t.city,t.username,t.username as telphone,'' as ip 
    from INTERFACE_WIRELESS.USER_LOGIN_LOG t ;*/
  begin
    open c_uservisit For
    
      select t.city, t.username, t.username as telphone, '' as ip
        from INTERFACE_WIRELESS.USER_LOGIN_LOG t;
  
  end;

end WCITY2_STATISTIC;

调用方法:

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


分享到:
评论

相关推荐

    Spring JdbcTemplate调用Oracle存储过程实现CRUD

    使用 Spring JdbcTemplate 调用 Oracle 存储过程实现 CRUD 在本文中,我们将讨论如何使用 Spring JdbcTemplate 调用 Oracle 存储过程来实现 CRUD(Create、Read、Update、Delete)操作。我们将首先编写 Oracle 存储...

    Spring JdbcTemplate 常用方法整理

    Spring的JdbcTemplate是Spring框架中用于简化数据库操作的工具类,它是基于JDBC但又抽象出了一层,避免了直接与数据库驱动API交互,从而提高了代码的可读性和可维护性。本文将深入探讨Spring JdbcTemplate的常用方法...

    Spring JdbcTemplate api

    在Spring框架中,可以为每个DAO配置单独的`JdbcTemplate`实例,或者让DAO类继承`JdbcDaoSupport`类,这样可以通过调用`getJdbcTemplate()`方法来获取`JdbcTemplate`实例。书中提到的做法是为每个DAO添加一个`...

    使用Spring JDBCTemplate进行增删改查curd操作

    这里,`queryForObject()`方法用于返回单个对象,`UserRowMapper`是自定义的RowMapper,负责将查询结果映射为User对象。 3. 更新(Update) 更新数据时,我们使用`update()`方法执行SQL的UPDATE语句。比如更新用户...

    spring的jdbcTemplate小案例

    在本文中,我们将深入探讨Spring框架中的一个核心组件——JdbcTemplate。JdbcTemplate是Spring提供的一种数据库操作工具,它简化了数据库访问,使开发者能够编写出更健壮、更易于维护的代码,避免了手动处理JDBC连接...

    spring jdbcTemplate 注入到servlet

    `JdbcTemplate`的核心功能包括:执行SQL查询、更新、调用存储过程等,同时提供了一套统一的异常处理机制。它通过模板方法模式设计,允许我们在不丢失灵活性的情况下,保持代码的整洁和可读性。 在Spring应用中,`...

    spring jdbctemplate实例

    此外,JdbcTemplate还提供了其他高级功能,如批量操作、分页查询、存储过程调用等。同时,它也支持PreparedStatement,可以防止SQL注入攻击。对于性能要求较高的互联网应用,JdbcTemplate的这些特性使其成为理想的...

    spring hibernate执行存储过程的例子

    在这个例子中,`YourResultEntity`是你定义的结果集映射实体类,用于将存储过程返回的结果转换为Java对象。 结合Spring和Hibernate,你可以在Spring的Service层使用Hibernate的Session来调用存储过程,或者在...

    Spring jdbctemplate + mysql 分页封装

    综上所述,Spring JdbcTemplate结合MySQL的分页查询封装涉及到的主要知识点有:Spring的JdbcTemplate用法、MySQL的分页查询(LIMIT和OFFSET)、结果集映射、分页结果对象的构建、以及代码封装与复用。通过这些技术,...

    Spring-JdbcTemplate

    - **查询**:支持简单的 SQL 查询,预编译的参数化查询,以及存储过程的调用。 - **插入与更新**:提供了插入、更新和删除数据的方法,自动处理 SQL 更新操作返回的受影响行数。 - **事务管理**:通过 Spring 的事务...

    spring jdbcTemplet demo

    博客中的讲解可能还包括了更多关于JDBCTemplate的高级用法,如批处理、存储过程调用、复杂查询等。在实际项目中,通过结合Spring JDBCTemplate,开发者可以编写出更加优雅、可维护的数据库访问代码,同时充分利用...

    Spring--JdbcTemplate.pdf

    描述中提到的"一图详解(脑图)"意味着文档中可能包含了一个清晰的图示,这个图示将详细展示JdbcTemplate在Spring中的使用过程和相关组件的交互。这样的图示对于理解JdbcTemplate的工作原理以及如何在项目中实际应用它...

    Spring的getBean和JdbcTemplate

    在Java的Spring框架中,`getBean`方法和`JdbcTemplate`是两个核心且重要的概念。它们分别代表了Spring对依赖注入(Dependency Injection,DI)的实现和数据库操作的简化处理。 首先,让我们来深入理解Spring的`...

    day4-Spring JdbcTemplate & 声明式事务.md

    JdbcTemplate是Spring框架提供的用于简化JDBC API操作的对象。它通过提供一个高级抽象层来减少编码工作量,并帮助开发者避免处理JDBC API中常见的陷阱,如资源管理、异常处理等。Spring框架为不同的数据访问技术提供...

    spring自带的jdbcTemplate查询、插入预编译使用

    无论是查询、插入还是调用存储过程,`jdbcTemplate`都能提供简洁且安全的API,使得数据库操作变得更加便捷。在实际开发中,结合自定义的映射器和回调处理器,我们可以构建出高效且灵活的数据库访问层。

    简单介绍如何使用Spring Boot使用JdbcTemplate与MySQL进行数据库操作

    在本文中,我们将深入探讨如何使用Spring Boot集成JdbcTemplate与MySQL数据库进行数据操作。Spring Boot以其简化配置和快速启动的特点,已经成为Java开发者的首选框架。而JdbcTemplate是Spring框架的一部分,它提供...

    Oracle + jdbcTemplate + Spring + Java + Flex 实现分页

    3. **调用存储过程**:通过jdbcTemplate对象调用存储过程并处理返回的结果集。 示例代码如下: ```java import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.core....

    JdbcTemplate操作总结

    接口定义了业务操作,实现类则通过JdbcTemplate调用对应的方法。例如: ```java public interface UserRepository { User findById(int id); List&lt;User&gt; findAll(); void save(User user); } public class ...

    JdbcTemplate简单实例

    4. **SQL执行**:支持多种方式执行SQL,包括查询、更新、调用存储过程等。 5. **参数绑定**:通过占位符的方式安全地绑定参数,防止SQL注入。 6. **结果集处理**:提供了多种结果集转换方式,如List、Map、单个...

Global site tag (gtag.js) - Google Analytics