1. iBatis(아이바티스)란?
SQL에 기반한 데이터베이스와 자바, 닷넷(.NET) 등을 연결시켜 주는 역할을 하며, 프로그램의 소스코드에서 SQL 문장을 분리하여 연결시켜주는 방식입니다. 이는 기존 JDBC를 이용하여 프로그래밍을 하는 방식에 비해서 개발자의 부담을 덜어주고, 생산성 향상에도 도움이 됩니다.
ibatis는 공식적으로 3.X 버전까지만 지원되며 이후, Mybatis 로 변경되었습니다.
2. pom.xml 에 iBatis 라이브러리 추가
스프링에서 iBatis를 사용하려면 라이브러리가 필요하다. 스프링 프로젝트는 Maven 을 통해 라이브러리가 관리되며 아래와 같이 추가하면 됩니다.
ibatis를 4.X 에서 사용할 경우, mybatis-2-spring을 추가하셔야합니다.
3. pom.xml 에 Oracle 연동
MavenRepository 에 Oracle을 연결시켜주는 ojdbc.jar는 외부저장소를 통해 연결시켜주어야 합니다. 이를 위하여 외부 저장소와 ojdbc.jar 2가지를 라이브러리에 추가해주어야 합니다.
4. DB(데이터베이스) 연결을 위한 JdbcPool 생성
스프링이 시작되면서 web.xml -> context-param(context-*.xml) 을 통하여 설정파일을 읽어올 수 있습니다.
DB와 연결을 할 수 있는 context-transaction.xml를 생성하여 아래와 같이 Jdbc 연결 정보를 작성합니다.
5. iBatis와 DB(데이터베이스) 연결 설정
iBatis의 핵심은 sqlMapClient이며 configLocation 에 설정파일을 경로를 작성합니다. SQL 문의 위치나 설정을 제어할 수 있습니다.
또한 dataSource를 선언함으로써 4번에 만들어둔 JdbcPool를 참조합니다.
마지막으로 sqlMapClientTemplate는 아이바티스 스프링 연동모듈의 핵심입니다. 설정된 SQL문을 찾아 추후에 코드에서 사용하는 역활을 합니다.
configLocation 에 xml 파일을 생성 후, 아래와 같이 sqlMap 안에 SQL 구문이 들어갈 파일 경로를 작성해 줍니다.
typeAlias : 현재 맵핑 파일내에서 객체에 대한 간략한 alias 명을 지정해 사용 할 수 있습니다.
resultMap : DB 컬럼명과 동일하게 사용하며 , Select 할 컬럼과 result Property 가 동일해야 실행 됩니다.
insert/update/delete/select : 각 타입에 맞게 선언하여 SQL문을 작성 합니다.
6. AbstractDAO 의 생성
공통으로 사용될 AbstractDAO를 생성하여 , 각각의 DAO에서 상속받아 사용할 예정입니다.
공통 패키지 안에 AbstractDAO를 생성하여 아래와 같이 생성합니다.
@Autowired 를 통하여 5번에서 생성한 SqlMapClientTemplate 를 맵핑 시킵니다. 다음으로는 호출한 Template의 queryForList(메서드)를 통하여 Select 구문을 호출할 수 있게 작성합니다.
'Web Programming > Project' 카테고리의 다른 글
[게시판 만들기] 3-6. Spring 게시판을 위한 HandlerMethodArgumentResolver (0) | 2020.04.24 |
---|---|
[게시판 만들기] 3-5. Spring 게시판 목록 만들기 (0) | 2020.04.21 |
[게시판 만들기] 3-3. Spring 게시판을 위한 Log4j2 와 Interceptor (0) | 2020.04.15 |
[게시판 만들기] 3-2. Spring 게시판을 위한 web.xml 설명 (0) | 2020.04.14 |
[게시판 만들기] 3-1. Spring 게시판을 위한 프로젝트 생성 (0) | 2020.04.13 |