假如我們有P_GET_TOPIC_NUM這一個存儲過程,有兩個參數,第一個參數userId是傳進去的,第二個參數是傳出來的,舉例如下:
public int getUserTopicNum(final int userId) {
String sql = "{call P_GET_TOPIC_NUM(?,?)}";
//使用 Object execute(String callString, CallableStatementCallback action)接口
Object obj = getJdbcTemplate().execute(sql,new CallableStatementCallback(){
public Object doInCallableStatement(CallableStatement cs) throws SQLException, DataAccessException {
cs.setInt(1,userId);
cs.registerOutParameter(2, Types.INTEGER);
cs.execute();
return new Integer(cs.getInt(2));
}
});
return ((Integer)obj).intValue();
}