BLOG main image
분류 전체보기 (77)
프로젝트 (8)
IT소문 (9)
영화가주는인생 (5)
OpenAPI (9)
DBMS (5)
JAVA (16)
IPhone/Object-C (9)
안드로이드 (0)
WEB etc (8)
Server (1)
Michael Kors Handbags on Sale
Michael Kors Handbags on Sale
Nike Roshe Run
Nike Roshe Run
michael kors handbags outlet
michael kors handbags outlet
outlet de zapatillas nike
outlet de zapatillas nike
Cheap beats by dre uk
Cheap beats by dre uk
2,373,938 Visitors up to today!
Today 26 hit, Yesterday 118 hit
daisy rss
tistory
'iBATIS'에 해당되는 글 2건
2011.02.20 01:50
사실 실수도 아닙니다. 가이드를 꼼꼼히 읽어봤다면 무리없이 넘어 갔겠지만,
저 처럼 2.X selectKey 를 PK로 사용하다가 , 3.x ...을 걍  받아 드렸을 때 생기는 실수인듯합니다.

iBATIS 3.0 에서는 insert 실행 후에 입력된 row의 수를 반환한다. insert로 데이터를 하나 넣으면 1라는 것이죠.
기존 2.x 버전에서는 pk 가 넘어왔었습니다.
당연히 3.0 가서도 selectKey를 사용하면 pk가 넘어오겠지라고 생각을 했지만, 아니였다.^^;;;

2.x 에서는 return 값으로 넘겨줬지만 3.0에서는 아예 인스턴스에 담아서 넘겨줍니다.

예제로 본다면
--XML 파일은
<selectKey resultType="int" keyProperty="id" order="BEFORE">  
        SELECT SEQ_NT_MEMBER.NEXT_VALUE FROM DB_ROOT 
</selectKey>

--JAVA파일

UserDTO dto = new UserDTO();
dto.setName("야호");
int row = (int)getSqlSession().insert("Member.insertMember", dto);

예전에는 row 가 pk 였지만 mybatis 는 dto.getId(); 에 직접 담아서 넘겨준다.
많이 친절해진 거 같다.ㅎ


Name
Password
Homepage
Secret
2008.07.30 11:53

<sqlMap namespace="SysMenu">
  <cacheModel id="menuCache" type ="LRU">
   <flushInterval hours="24"/>
   <flushOnExecute statement="SysMenu.insertMenu"/>
   <property name="cache-size" value="1000" />
  </cacheModel>

  <select id="getMenu" resultMap="menuResult"  cacheModel="menCache">
    select * from menu   
  </select>

  <insert id="insertMenu">
    insert into menu (menuid, menuname) values ('menu1','메뉴1')
  </insert>
</sqlMap>

위 설정은 24시간마다 또는 관련된 update문이 수행될때마다 지워진다

flushOnExecute의 statement 속성은 sqlMap의 namespace명을 포함한 statement id를 적는다
ex) SysMenu.insertMenu

  1. LRU : 캐쉬가 full상태가 되었을때 캐쉬로 부터 최근에 사용된 요소를 제거한다.
  2. FIFO : 캐쉬가 full상태가 되었을때 캐쉬로 부터 가장 오래된 객체를 제거한다.
  3. MEMORY : 캐쉬를 관리하기 위해서 SOFT, WEAK, 그리고 STRONG 같은 자바 참조 타입을 사용한다. 이것은 메모리에 머물게 될 것을 결정하기 위해 garbage collector 를 허락한다. 사용될수 있는 구현은 메모리가 모자란 곳의 애플리케이션내에서 사용된다.
  4. OSCACHE : OSCache2.0 캐쉬 엔진을 위한 플러그인이다. 당신은 OSCache를 설정하기
Name
Password
Homepage
Secret
prev"" #1 next

티스토리 툴바