`
rockjava
  • 浏览: 90982 次
  • 性别: Icon_minigender_1
  • 来自: 旮旯
社区版块
存档分类
最新评论

Spring JdbcTemplate 应用(二)

    博客分类:
  • Java
阅读更多

上一篇中介绍了JdbcTemplate 的一些常用的查询方法,在这篇里将介绍用JdbcTemplate做更新数据操作

和调用存储过程。

 

1. JdbcTemplate 更新数据

 

 

public boolean switchStartOrderMeeting(String argument, String flag)
			throws DataAccessException {
		boolean result = false;
		String sql = 
			sql = "update COMPETITION_BASE_T t set T.F_COMPETE_ORDER_STATE = '0'"+
			" where T.F_COMPETITION_ID = ?";
		int i = 0;
		//返回所影响的行数
		i = this.getJdbcTemplate().update(sql, new Object[] { argument });
		if (i > 0) {
			result = true;
		}
		return result;
	}

 

 

 这个方法很简单,update方法只要传入sql脚本和脚本参数(Object数组类型)。

 

2. JdbcTemplate 调用存储过程

 

/**代码片段*/
//5个输入参数,3个输出参数
String sql = "{call GENERATEORDERS_P(?,?,?,?,?,?,?,?)}";
							
final String company_id = result.get("F_COMPANY_ID").toString();           // 公司ID
final String competition_id = result.get("F_COMPETITION_ID").toString();   // 比赛ID
final String current_phase = result.get("F_CURRENT_PHASE").toString();     // 当前周期
final String market_scope_id = result.get("F_MARKET_SCOPE_ID").toString(); // 市场ID
final String market_loca_id = result.get("F_MARKET_LOCA_ID").toString();   // 产品类型ID

Map mapR = (Map) getJdbcTemplate().execute(sql,new CallableStatementCallback() {
			public Object doInCallableStatement(CallableStatement cs)throws SQLException,DataAccessException {
				cs.setString(1, current_phase);    // 输入参数
				cs.setString(2, competition_id);   // 输入参数
				cs.setString(3, market_scope_id);  // 输入参数
				cs.setString(4, market_loca_id);   // 输入参数
				cs.setString(5, company_id);       // 输入参数
				cs.registerOutParameter(6,Types.VARCHAR);//输出参数
				cs.registerOutParameter(7,Types.VARCHAR);//输出参数
				cs.registerOutParameter(8,Types.VARCHAR);//输出参数
				cs.execute();
				Map map = new HashMap();
				map.put("RESULT", cs.getString(6));       // 订单数量
				map.put("F_PRICE", cs.getString(7));      // 订单价格
				map.put("F_CPUT_MOD_ID", cs.getString(8));// 产品型号ID
				return map;
			}
		});

 

 

 execute方法返回的是一个Object对象,在这里我封装了一个Map对象返回。

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics