HashMap은 간단하게 말해 key와 value의 집합이다. 즉 key로 value를 찾아갈수 있게한다.
iBatis에서 적용예로 알아보자.
public void delete(String email, Calendar time) throws Exception { Map<String, Object> parameters = new HashMap<String, Objec>(); parameters.put("calendarTime", time); parameters.put("emailAddress", email); sqlMapClientTemplate.update(".delete", parameters); }
위의 경우 인자로 들어온 2개의 파라메터값을 put 한다.
즉 String // "calendarTime"
Object // time
이 되는것이다.
이렇게 되면 HashMap에는
String | Object
calendarTime | time
emailAddress | email
이런 형태로 key | value 쌍의 데이터가 들어간다.
이를 따라서 sqlMap의 .delete 까지 따라들어가면
<sqlMap> ~설정~ <update id="delete" parameterClass="HashMap"> update account set delete_mark=1, modified_time=#calendarTime# where email_address=#emailAddress# </update> </sqlMap>
왜 쿼리가 delete가 아닌 update인것은 account를 실제 삭제하는것이 아니라 삭제된 것으로 표기하기 때문이다. (정하기나름)
중요한것은 parameterClass가 HashMap으로 들어왔기 때문에 해당 key를 #key#형태로 써줌으로서 내부에 값을 가져올수 있다는 것이다.
여기서는 calendarTime과 emailAddress Key로 소스의 데이터 time과 email 값을 쿼리문에 사용할수 있게되었다.
'DB > iBatis' 카테고리의 다른 글
iBatis 구현 - 5 xxxDAO.xml (0) | 2012.03.29 |
---|---|
iBatis 구현 - 4 sqlMapConfig.xml (0) | 2012.03.29 |
iBatis 구현 - 3 xxx-servlet.xml 작성 (0) | 2012.03.28 |
iBatis 구현 - 2 web.xml 수정 (0) | 2012.03.28 |
iBatis 구현 - 1 대략적 개념 (0) | 2012.03.28 |