`
liukai
  • 浏览: 706329 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

springMVC 调用存储过程

阅读更多
public void getProcedureForExternalCallToComplete() {
		final String procedure = "{CALL ExternalCallToComplete()}";
		getJdbcTemplate().execute(new Dispose(procedure));
	}

	public class Dispose implements ConnectionCallback {
		// 要执行的存储过程
		private String call;

		// 构造函数 接收要执行的存储过程
		public Dispose(String call) {
			this.call = call;
		}

		@SuppressWarnings("unchecked")
		public Object doInConnection(Connection conn) throws SQLException,
				DataAccessException {
			// 生成执行存储过程类
			CallableStatement cs = conn.prepareCall(call);
			// 执行存储过程
			
			/* 如何要使查询存储过程中的值存入一个集合,执行下面  */
//			ResultSet rs = cs.executeQuery();
//			// 定义容器存数据
//			List list = new ArrayList();
//			// 遍历所有数据
//			while (rs.next()) {
//				// 定义MAP 存储名称与值的集合
//				Map map = new HashMap();
//				// 把所有列名与值的集合存入MAP中
//				for (int i = 1; i <= rs.getMetaData().getColumnCount(); i++) {
//					map.put(rs.getMetaData().getColumnName(i), rs.getObject(i));
//				}
//				list.add(map);
//			}
//			return list;
			return null;
		}
	}


查询时在查询方法中调用getProcedureForExternalCallToComplete()方法.如下
@SuppressWarnings("unchecked")
	public List<ExternalCallToComplete> getExternalCallToComplete(int toPage,
			int pageSize, String surveyName) {
		//调用存储过程的方法
		getProcedureForExternalCallToComplete();
		String sql1 = "SELECT a,b,c,d,e,f,g,h  FROM temp2 where 1 = 1 ";
		String sql2 = " UNION ALL SELECT '合计',SUM(b),SUM(c),'',SUM(d),'',SUM(g),''  FROM  temp2  where 1 = 1 ";
		Object[] params = new Object[2];
		int index = 0;
		if (!"".equals(surveyName)) {
			sql1 += " and a = ? ";
			params[index] = surveyName;
			index++;
		}
		if (!"".equals(surveyName)) {
			sql2 += " and a = ? ";
			params[index] = surveyName;
			index++;
		}

		Object[] paramsEnd = new Object[index];
		System.arraycopy(params, 0, paramsEnd, 0, index);
		int start = MysqlPaginationUtils.getStart(toPage, pageSize);
		String sql = sql1 + sql2;
		sql = MysqlPaginationUtils.paginationSQLForMySQL(sql, start, pageSize);

		return getJdbcTemplate().query(sql, paramsEnd,
				new ExternalCallToCompleteMapper());
	}

	static class ExternalCallToCompleteMapper implements RowMapper {

		public Object mapRow(ResultSet rs, int arg1) throws SQLException {
			String surveyName = WebUtils.nullToEmpty(rs.getString(1));
			String totalSurvey = WebUtils.nullToEmpty(rs.getString(2));
			String totalSurveySuccess = WebUtils.nullToEmpty(rs.getString(3));
			String successRate = WebUtils.nullToEmpty(rs.getString(4));
			String endSurvey = WebUtils.nullToEmpty(rs.getString(5));
			String endSurveyRate = WebUtils.nullToEmpty(rs.getString(6));
			String cancelSurvey = WebUtils.nullToEmpty(rs.getString(7));
			String cancelSurveyRate = WebUtils.nullToEmpty(rs.getString(8));
			return new ExternalCallToComplete(surveyName, totalSurvey,
					totalSurveySuccess, successRate, endSurvey, endSurveyRate,
					cancelSurvey, cancelSurveyRate);
		}

	}
分享到:
评论

相关推荐

    maven+SpringMVC+Spring+Mybatis图片上传本地以及显示+调用存储过程

    在开发Web应用时,我们经常...以上就是基于"Maven+SpringMVC+Spring+Mybatis"的图片上传、本地存储、显示及调用存储过程的相关知识点,这些内容构成了一个完整的Web应用功能模块,对于开发者来说是非常实用的技术实践。

    spring mvc + mybatis 调用mysql 存储过程

    这里,我们将使用MyBatis的SqlSession对象,通过Mapper接口来调用存储过程。 1. 配置MyBatis: 在Spring MVC项目中,你需要配置MyBatis与Spring的整合,这通常涉及到`mybatis-config.xml`,`sqlSessionFactory`和`...

    java中的springMVC模式调用过程

    java中的springMVC模式调用过程,该图片显示了如果在java中使用springMVC的模式调用数据库过程。

    SSM+Oracle 存储过程例子

    5. **编写Java代码调用存储过程**:在服务层,我们需要创建一个对应Mapper接口的实现类,通过`@Autowired`注解注入Mapper实例。然后,我们可以使用`SqlSession`的`call`方法来调用存储过程。例如: ```java @...

    maven+SpringMVC+Spring+Mybatis图片上传本地以及显示+调用Mysql存储过程

    在本项目中,Mybatis负责与MySQL数据库的交互,如存储图片的元数据,可能还包括调用存储过程。 5. MySQL存储过程: 存储过程是预编译的SQL语句集合,存储在数据库服务器中,可以被多次调用。在这个项目中,存储...

    mybatis调用储存过程

    在调用存储过程时,我们需要利用MyBatis提供的API和配置机制来实现。 1. **配置MyBatis**:在`mybatis-config.xml`配置文件中,你需要添加数据库连接信息,例如数据源、驱动类等。同时,也需要将你的Mapper接口文件...

    基于MySQL存储过程的ssm学生成绩管理系统

    在SSM系统中,开发人员可能创建了Mapper接口,定义了对应的方法,并在XML配置文件中配置了调用存储过程的SQL语句。这样,当业务层需要调用数据库操作时,可以直接通过MyBatis的SqlSession对象执行这些方法。 项目...

    mybaits springmvc注解,事务、一对多配置 oracle11g 存储过程 汉字拼音首字母

    这是一个完整的mybaits3.0+springmvc+oracle11g项目,包括sql,存储过程等,下载修改数据库连接 即可运行,包括数据增删改查,一对多查询,调用存储过程。完整的配置文件注释,绝对是入门级教材!另附有根据汉字获取...

    SpringMVC+Mybatis demo

    1. **XML或注解配置**:定义SQL语句、存储过程以及复杂的映射,可以在XML配置文件中编写,也可以使用注解。 2. **动态SQL**:支持条件查询、if、choose、when、otherwise等元素,使SQL语句更灵活。 3. **Mapper接口*...

    maven入门整合SpringMVC登录+调用天气接口实例

    在本项目中,Maven被用来整合SpringMVC和实现接口调用。Maven的POM(Project Object Model)文件是核心,它包含了项目的配置信息,如依赖库、构建目标和插件等。通过在POM.xml文件中声明所需的SpringMVC和相关库,...

    spring springmvc mongodb所需jar包

    这个压缩包"spring springmvc mongodb所需jar包"提供了一套基础的依赖库,帮助开发者快速搭建基于Spring、SpringMVC、MongoDB、MyBatis以及Oracle数据库的Java应用程序。下面将详细解释这些关键组件及其相关知识点。...

    dubbo zookeeper springmvc 集成

    在Dubbo中,Zookeeper常被用作服务注册中心,负责存储服务提供者的元数据信息,使服务消费者可以找到并调用相应服务。 SpringMVC是Spring框架的一部分,用于构建Web应用的模型-视图-控制器(MVC)架构。它简化了Web...

    SpringMVC+SpringJDBC

    2. **SimpleJdbcInsert** 和 **SimpleJdbcCall**:简化插入记录和调用存储过程的操作。 3. **Transaction Management**:SpringJDBC支持声明式和编程式事务管理,使得事务控制更加简洁和健壮。 4. **DataSource**...

    SpringMVC+sqlitejdbc的jar集合

    SpringMVC和SQLiteJDBC是两个在Java开发中常见的组件,它们分别用于构建Web应用程序和服务端数据存储。这里我们详细探讨这两个技术以及它们如何协同工作。 **SpringMVC** SpringMVC是Spring框架的一个模块,专门...

    手写简易版SpringMVC,探索SpringMVC原理

    通过编写这些组件,我们可以理解SpringMVC如何将请求、业务逻辑和视图分离,以及它们之间的协作过程。此外,这也将帮助我们更好地理解SpringMVC中的一些高级特性,如拦截器、AOP(面向切面编程)、数据绑定和异常...

    springMVC-maven 简单的附件上传,文件本地磁盘存储,

    在本文中,我们将深入探讨如何使用SpringMVC和MyBatis框架,以及Maven构建工具来实现一个简单的附件上传功能,特别关注图片上传,并将文件存储到本地磁盘。这个项目适用于Java开发者,特别是那些使用Java 1.7及以上...

    SpringMVC 入门小程序

    - **模型(Model)**:存储应用的核心业务逻辑和数据,通常由JavaBean对象组成。 - **视图(View)**:负责展示数据,如JSP、HTML等。 - **控制器(Controller)**:接收用户请求,处理业务逻辑,调用模型,并将结果...

    springmvc写的超市订单管理系统

    MyBatis是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XML或注解进行配置和原始映射,将接口和Java的POJOs...

    SpringMVC+Mysql实例详解

    总的来说,SpringMVC+Mysql实例涵盖了Web应用开发的多个方面:从请求处理、业务逻辑到数据存储和用户界面。通过这个实例,你可以了解如何利用SpringMVC的注解驱动、依赖注入特性,以及如何与MySQL数据库无缝集成,为...

Global site tag (gtag.js) - Google Analytics