본문 바로가기

Java/[iBatis]

Mybatis에서 방금 insert 시킨 테이블의 키값 가져오기 여러 테이블에 insert를 해야되는데, 방금 insert 된 그 PK를 다른테이블에서 써야할 때... select를 해올수도 없고 그럴땐 어떻게 해야 할까? 1. MyBatis /* query */ id가 autoincrement인 PK일 경우, 여기서 insert 된 행의 id 값을 가져오게 된다. 그 id값은 DataClass에 선언되어있는 id 필드 안으로 값이 저절로 들어간다. java단에서 DataClass 객체의 id값을 보면 값이 들어있을 것이다. 2. iBatis /* query */ SELECT LAST_INSERT_ID() id 값을 리턴 받는 곳은 DAO 클래스에서 insert문을 호출하는 구문에서 값을 리턴 받으면 된다. int id = commonDB.insert(NAMESPAC..
MyBatis 에서 Numberic 에러 발생하는 경우 MyBatis 를 사용하다 보면 조건에 따라 쿼리를 작성 하는 경우가 있다. 이때 제대로 작성한것 같은데 예기치 않게 Numberic 관련 에러가 나는 경우 가 있습니다. 쿼리문.... . 이렇게 하면 에러가 발생한다면... 쿼리문.... . 또는 쿼리문.... . 이렇게 하면 에러가 발생하지 않는다. 참고 하세요.
iBATIS 2.3.0.677 - PreparedStatement - ? 바인딩로그처리 VER : iBATIS 2.3.0.677 PreparedStatement 를 log를 찍을때 ? 값을 바인딩 처리하여 로그를 찍도록 수정하였습니다. 사용방법은 기존 2.3.0.677 라이브러리 jar대신에 첨부한 파일로 대체하시면 됩니다. 그리고 log4j 의 properties 파일에 아래부분을 추가로 넣으면 됩니다. log4j.logger.java.sql.Connection=DEBUG log4j.logger.java.sql.Statement=DEBUG log4j.logger.java.sql.PreparedStatement=DEBUG iBATIS에서 제공하는 getParamValue() 를 변경해서 sql의 ? 부분을 찾아 List로 param값을 순서대로 넣고 null 및 "" 는 싱글퀘테이션을 넣지..
iBatis 설정 처음 IBATIS 로 작업을 하고 있습니다. 책을 처음부터 봐야겠지만 그렇게 할 시간적 여유(?)가 없는 관계로, 이동국님이 번역한 개발자 가이드 문서를 참고로 작업 하고 있습니다. 기본적인 SELECT , INSERT, UPDATE, DELETE 는 작업에 무리 없이 잘 진행이 되었습니다. 그런데, 하다보니 폼에서 SELECT 박스를 이용하여 쿼리를 생성하는 경우 (선택된값이 필드명이 되겠죠??)에 서 문제 되어 고생을 좀 했네요.. ^^;; 문서좀 제대로 읽어 볼걸.. ㅎㅎ ^^;; 1. iBatis 2.3.0.677 다운 로드 (http://ibatis.apache.org/) 해당 jar 파일을 lib 폴더에 copy 2. servlet 으로 해당 업무 Action 단 작업 dao 단에 해당 하는 ..