프로그램/Spring 2.5
[12일차] SpringFramework + ibatis 연동 (1)
영혼과영혼의양식
2010. 6. 22. 20:49
가. ORM(Object Relational Mapping)의 정의
- 데이터베이스 연계처리를 위하여 기존의 SQL에 의존하는 것이 아니라, 직접 테이블의 컬럼을 자바 Class에 매핑하거나 XML형태의 SQL을 실행하여 처리를 수행하는 Persistence Layer를 담당하는 Framework 개발모델
나. ORM의 등장배경
- OOP(Object Oriented Programming)에 있어서 관계형 데이터베이스와의 연계성을 분명히 하자는 의도
ibatis
① sqlMapConfig.xml <= 환경설정파일(DB정보, mapper file 정보 등등)
② mapper file <= SQL(실제 쿼리를 작성하는 xml)
① + ②를 가지고 ibatis는 SqlMapClient 객체를 만듦 : 즉, 개발자는 SqlMapClient 객체를 가지고 작업
① + ②는 개발자가 조합을 하는 것이 아닌 SqlMapClientBuilder가 조합해줌
Dept.java
sqlMapClient.xml (ibatis 환경설정파일)
dept.xml (mapper file:쿼리)
DeptApp.java
결과_01
결과_02
//ibatis 설정파일을 읽어옴
Reader reader = Resources.getResourceAsReader("test/SqlMapConfig.xml");
//설정파일과 mapper 파일을 조합(SqlMapClientBuilder 사용)
SqlMapClient client = SqlMapClientBuilder.buildSqlMapClient(reader);
ibatis에서 SELECT의 결과가 1개 일때는 : queryForObject
결과가 다수일 경우는 : queryForList