Engineering/Java
Spring jdbcTemplate 를 이용해서 프로시저/함수 호출
부스 boos
2013. 8. 29. 11:31
728x90
Spring 의 jdbc Template 를 이용해서 DB 의 프로시저/함수를 호출하는 java 코드를 정리해본다.
public String CreateToken(int uid, String ip, long limitTime, boolean renew, String oldToken) { SqlFunctionsf = new SqlFunction (dataSource, "select CreateToken(?, ?, ?, ?, ?)"); sf.declareParameter(new SqlParameter("id", Types.INTEGER)); sf.declareParameter(new SqlParameter("ip", Types.VARCHAR)); sf.declareParameter(new SqlParameter("time", Types.TIME)); sf.declareParameter(new SqlParameter("renew", Types.BIT)); sf.declareParameter(new SqlParameter("oldtoken", Types.VARCHAR)); sf.compile(); Map inParams = new HashMap (5); inParams.put("id", uid); inParams.put("ip", ip); inParams.put("time", limitTime); inParams.put("renew", renew); inParams.put("oldtoken", oldToken); List result = sf.executeByNamedParam(inParams); return result.get(0); }
CreateToken 이라는 사용자 정의 MySQL procedure/function 에 파라미터 5개를 전달해서 결과값 중에서 첫번째 값만 return 하는 자바 코드. procedure 라도 spring 의 SqlFunction 을 사용해도 무방해 보임.