Spring jdbcTemplate应用(二)

1. JdbcTemplate 更新数据

 

Java代码      收藏代码
  1. public boolean switchStartOrderMeeting(String argument, String flag)  
  2.             throws DataAccessException {  
  3.         boolean result = false;  
  4.         String sql =   
  5.             sql = "update COMPETITION_BASE_T t set T.F_COMPETE_ORDER_STATE = '0'"+  
  6.             " where T.F_COMPETITION_ID = ?";  
  7.         int i = 0;  
  8.         //返回所影响的行数  
  9.         i = this.getJdbcTemplate().update(sql, new Object[] { argument });  
  10.         if (i > 0) {  
  11.             result = true;  
  12.         }  
  13.         return result;  
  14.     }  

 

 

 

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

 

 

 

2. JdbcTemplate 调用存储过程

 

Java代码      收藏代码
  1. /**代码片段*/  
  2. //5个输入参数,3个输出参数  
  3. String sql = "{call GENERATEORDERS_P(?,?,?,?,?,?,?,?)}";  
  4.                               
  5. final String company_id = result.get("F_COMPANY_ID").toString();           // 公司ID  
  6. final String competition_id = result.get("F_COMPETITION_ID").toString();   // 比赛ID  
  7. final String current_phase = result.get("F_CURRENT_PHASE").toString();     // 当前周期  
  8. final String market_scope_id = result.get("F_MARKET_SCOPE_ID").toString(); // 市场ID  
  9. final String market_loca_id = result.get("F_MARKET_LOCA_ID").toString();   // 产品类型ID  
  10.   
  11. Map mapR = (Map) getJdbcTemplate().execute(sql,new CallableStatementCallback() {  
  12.             public Object doInCallableStatement(CallableStatement cs)throws SQLException,DataAccessException {  
  13.                 cs.setString(1, current_phase);    // 输入参数  
  14.                 cs.setString(2, competition_id);   // 输入参数  
  15.                 cs.setString(3, market_scope_id);  // 输入参数  
  16.                 cs.setString(4, market_loca_id);   // 输入参数  
  17.                 cs.setString(5, company_id);       // 输入参数  
  18.                 cs.registerOutParameter(6,Types.VARCHAR);//输出参数  
  19.                 cs.registerOutParameter(7,Types.VARCHAR);//输出参数  
  20.                 cs.registerOutParameter(8,Types.VARCHAR);//输出参数  
  21.                 cs.execute();  
  22.                 Map map = new HashMap();  
  23.                 map.put("RESULT", cs.getString(6));       // 订单数量  
  24.                 map.put("F_PRICE", cs.getString(7));      // 订单价格  
  25.                 map.put("F_CPUT_MOD_ID", cs.getString(8));// 产品型号ID  
  26.                 return map;  
  27.             }  
  28.         });  

 

 

 

 

 

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值