블로그 이미지
올해목표 // 10월 어학연수 떠나자~ 자수씨

카테고리

전체글 (1457)
Brand New! (28)
주절주절 (213)
MOT (11)
해외쇼핑 (49)
쇼핑노트 (150)
취미생활 (94)
iPhone (4)
Eclipse (121)
Google (83)
Spring (31)
JAVA (176)
Ant (2)
Maven (29)
iBATIS (7)
Regular Expression (6)
Java Web Start (4)
WebServices (14)
JAXB (12)
CAS (13)
JBoss Seam (6)
OSGi (1)
Hibernate (2)
James (6)
Alfresco (17)
JavaScript (59)
WEB (49)
Database (20)
OS (26)
Tools (8)
Tips (26)
IT정보 (1)
Book (21)
Programming (37)
외부행사 (43)
주변인들 (17)
여행노트 (60)
학교생활 (30)
회사생활 (52)
사회생활 (5)
외국어공부 (12)
잡동사니 (30)
Total
Today
Yesterday
 
12-26 17:28
 

달력

« » 2024.12
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 31
 

최근에 올라온 글

최근에 달린 댓글


JEUS 6 + Oracle 11g 조합으로 다른 서버에서 잘 돌아가던 쿼리를 돌리니 운영 환경에서는 아래와 같은 오류가 뜹니다.

uncategorized SQLException for SQL []; SQL state [null]; error code [17004];
Invaild column type


문제의 원인은 null 이 들어가서 타입이 맞지 않게 되는 것 같은데... 해결방법은 다음과 같습니다.

insert into Person (name, age, address)
values (#name#, #age#, #address#)

원래의 쿼리가 위와 같을 경우 address 가 null 로 들어갈 때 발생하게 된다면...

insert into Person (name, age, address)
values (#name#, #age#, #address:VARCHAR:NO_ENTRY#)

타입 지정과 null 이 들어오더라도 처리할 수 있도록 변경해 줍니다. 저래야 jdbc 에서 setNull 처리를 해주는 것 같습니다.

킁;;;  세상은 우리의 편이 아닌 듯...

Posted by 자수씨
, |

iBATIS3 이 이전 버전과 가장 큰 차이점은 어노테이션을 이용하여 SQL 을 작성할 수 있다는 점 입니다.

이번 포스팅에서는 자바 어노테이션을 이용하는 Mapper 인터페이스를 활용하는 법에 대해서 알아보겠습니다.

Mapper 인터페이스를 사용하기 위해서는 기존에 생성했던 프로젝트에 pom.xml <dependency> 엘리먼트를 추가합니다.
<dependency>
  <groupId>cglib</groupId>
  <artifactId>cglib</artifactId>
  <version>2.1_3</version>
  <scope>runtime</scope>
</dependency>

위의 <dependency> 를 추가하지 않으면 아래와 같은 오류가 발생합니다.
Exception in thread "main" java.lang.NoClassDefFoundError: net/sf/cglib/proxy/MethodInterceptor



테이블과 관련된 Mapping 인터페이스를 정의합니다.
/kr.co.vicki.ibatis3.example/src/main/java/kr/co/vicki/ibatis3/example/data/mapper/UserMapper.java



Mapping 인터페이스를 이용하는 경우 ibatis-config.xml 설정이 필요없습니다. 소스 레벨에서 설정이 가능합니다.


Mapper 인터페이스를 활용하는 경우 손쉽게 작성할 수 있다는 장점이 있지만 동적 SQL 작성이 용이하지 않은 것 입니다.

자바 어노테이션이 조금만 더 유연했으면 좋았을텐데... 아쉬운 점이 있습니다.

Posted by 자수씨
, |

사용자 정보를 가지고 있는 User 라는 테이블을 가지고 iBATIS3 를 활용하는 방법에 대해 정리해보도록 하겠습니다.

User
 
id text
name text
address text


테이블과 맵핑되는 모델 클래스를 생성합니다.
/kr.co.vicki.ibatis3.example/src/main/java/kr/co/vicki/ibatis3/example/model/User.java


User 테이블과 관련된 SQL을 정의 xml 을 생성합니다.
/kr.co.vicki.ibatis3.example/src/main/resources/kr/co/vicki/ibatis3/example/data/mapper/user-mapper.xml

테이블 생성 스키마는 update 문을 이용하였습니다.


이제 가장 중요한 iBATIS 설정파일을 생성합니다.
/kr.co.vicki.ibatis3.example/src/main/resources/kr/co/vicki/ibatis3/example/conf/ibatis-config.xml



정상적으로 파일이 만들어졌다면 아래와 같은 구조로 생성되었을 것 입니다.




실행 결과
User [id=vicki, name=2007041, address=우리집]



기존 iBATIS2 에 비해서 구성이 잘 갖춰진 느낌입니다.

다음 포스팅에서는 Mapper 인터페이스를 이용하는 법에 대해서 정리해보도록 하겠습니다.






Posted by 자수씨
, |

우선 개발환경을 준비합니다.

1. Eclipse 구동 환경
2. m2eclipse 플러그인

이클립스와 m2eclipse 가 설치되어 있다는 가정하에 시작하겠습니다.

이번 포스팅에서는 Maven 을 통하여 iBATIS 3 개발을 할 수 있도록 기본 준비 작업을 진행할 예정입니다.

1. File > New 에서 Maven Project 를 선택합니다.



2. iBATIS 3 를 체험해보는 용도의 프로젝트이므로, 별도의 archetype 을 선택하지 않습니다.
"Create a simple project (skip archetype selection)" 을 체크하고 다음으로 넘어갑니다.



3. Maven 프로젝트의 필수 속성을 입력합니다.
Group IdArtifact Id 를 본인 프로젝트에 맞게 설정합니다. 그 후, Finish 버튼으로 프로젝트 생성을 진행합니다.



4. 생성된 프로젝트 확인 및 pom.xml 수정
아래와 같은 구조로 Maven 프로젝트가 생성되었습니다.


최초 생성된 pom.xml 은 아래와 같습니다.

iBATIS 3 + SQLite 사용을 위해 pom.xml 을 아래와 같이 dependency 를 추가합니다.



아래와 같이 Maven Dependencies 가 추가되었다면 iBATIS 3 을 시작할 준비가 완료된 것 입니다.



다음 포스팅에서는 SQLite 로 생성된 DB 에 iBATIS 3 를 이용하여 테이블의 생성, SELECT, DELETE 하는 방법에 대해 알아보겠습니다.





Posted by 자수씨
, |

개강 기념으로 8월 초에 릴리즈된 iBATIS 3 베타 버전을 공부할 예정입니다.

과연 뭐가 바꼈을까용...

슬슬 살펴보아야 겠습니다.

Posted by 자수씨
, |

iBatis 에서 문제가 발생하면 실행되는 쿼리를 확인해보고 싶은 마음이 굴뚝 같을 것입니다.
아래와 같이 설정을 해주면 볼 수가 있습니다.




빔프로젝트 파시는 개굴옹에게 바칩니다.

Posted by 자수씨
, |

오라클에서 테이브를 만들고 iBatis 쿼리를 뚝딱뚝딱 만들고 테스트를 했는데..

안된다....  type = #type# 이런식으로 썼는데 안된다...

쿼리로 돌려보면 잘된다...

무슨 문제일까하고 봤더니....

type 컬럼을 CHAR 로 잡았던 것이다..... (된장) VARCHAR 로 잡아야 하는데..

털썩... 내 2시간은 에어컨 바람과 함께 사라지다~

Posted by 자수씨
, |

글 보관함

최근에 받은 트랙백