Spring jdbcTemplate施用(二)
Spring jdbcTemplate应用(二)1.Java代码public?boolean?switchStartOrderMeeting(String?argument,?String
Spring jdbcTemplate应用(二)
1.Java代码
- 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 调用存储过程
?
Java代码
- /**代码片段*/??
- //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对象返回。