iBatis에서 insert 쿼리를 사용하기 위해 getSqlMapClientTemplate().insert("queryId", param)를 사용하는 경우가 있습니다. 그런데 insert 메소드를 사용하면 return 값을 받지 못하고 NullPointerException이 발생하는 경우가 있는데 이런 경우는 insert 메소드가 insert 한 테이블의 PK값을 리턴하기 때문에 PK가 없는 테이블에 insert를 했을경우 발생합니다. PK가 없는 테이블에서 사용해야 한다면 getSqlMapClientTemplate().update("queryId", param)를 사용하여 실행된 row수를 리턴 받아서 쿼리 실행결과를 확인할 수 있습니다.
java.util.Map 을 ParameterClass로 받는 select 문을 iBatis에서 실행하였는데'부적합한 열 인덱스'라는 오류가 나타났습니다. 디버깅 모드로 파라미터 값을 체크해봤는데 값을 제대로 들어갔는데 계속 오류가 나길래 확인해보니평소엔 #SDATE# 이런식으로 파라미터 값을 SqlMap에서 사용했었는데 $SDATE$ 이런식으로 사용하니 해결되었습니다. #SDATE#와 같은 형식으로 사용할 경우 가끔 like 등등을 사용할때 오류가 나는 경우가 있다고 합니다.
sqlMap에서 There is no WRITEABLE property named ~~~ 에러가 나는 경우가 있습니다. 처음에는 뭐가 뭔지 몰라서 한참을 헤매었는데 간단한 오류더군요. resultMap에 선언한 property와 VO(Bean)의 변수명의 대소문자 구분이 달라서 나는 오류였습니다.VO에 member라고 선언했다면 sqlMap의 resultMap property에도 member라고 적어줘야 합니다.대소문자를 구분하기 때문에 MEMBER 이렇게 적으면 오류가 발생합니다.
iBatis가 현재는 myBatis라는 이름으로 개발되고 있습니다만 iBatis가 필요한 경우에 다운받는 방법을 정리해보겠습니다. 먼저 myBatis 구글프로젝트에 접속합니다.http://code.google.com/p/mybatis/ 그 다음 상단의 Downloads에 들어가서 MyBatis Core Framework를 선택해주세요. 그리고나면 MyBatis zip 파일들이 나오는데 그 위에 search에서 All downloads를 선택하고 옆의 입력폼에 ibatis라고 입력하고 검색하세요. 그러면 iBatis zip 파일들이 나오게 되고 필요하신 파일로 받으시면 됩니다.
- Total
- Today
- Yesterday
- 오브젝트 C
- iPhone
- 제이쿼리
- 자바
- MySQL
- iBATIS
- MAC OSX 10.7
- SQL
- oracle
- iOS 개발
- Spring
- IT
- Spring Framework
- 아이폰
- Objective-C
- tomcat
- 오브젝티브 C
- 오블완
- Programming
- 아이폰 어플리케이션
- zero
- Object C
- 티스토리챌린지
- JavaScript
- Objective C
- jQuery
- JSP
- Java
- 아이폰 개발
- 자바스크립트
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |