[Java] 전자정부프레임워크 MyBatis 예제
WEB-INF/
└ web.xml ( WEB-INF/ )
- 일반 스프링 프로젝트와 동일
- 스프링 설정파일 2개의 xml (contextConfigLocation과 서블릿 컨텍스트 파일)의 경로 지정
- contextConfigLocation: classpath*:META-INF/spring/context-*.xml
- 서블릿 컨텍스트 파일 : /WEB-INF/spring/dispatcher-*.xml
WEB-INF/spring/
└ dispatcher-servlet.xml ( /WEB-INF/spring/ )
- 일반 스프링 프로젝트와 동일
- Pagination 기능을 위한 2개의 빈 설정
- PaginationManager, imageRender
META-INF/spring/
└ context-common.xml ( META-INF/spring/ )
- db.properties 경로 지정
└ context-datasource.xml ( META-INF/spring/ )
- dataSource 빈 설정 ( ddl.sql, dml.sql 경로 지정 )
- jdbc dataSource, 아파치 dbcp dataSource 중에서 한 가지를 선택하여 설정
└ context-idgen.xml ( META-INF/spring/ )
- 자동증가필드에 값을 삽입할 때 사용될 아이디 생성 빈 등록
- 사원번호, 부서번호를 새로 삽입할 때 등록된 빈을 코드에서 사용함
└ context-mybatis.xml ( META-INF/spring/ )
- sqlSession 빈 설정 (속성으로 dataSource 참조, sql-myabtis-config.xml 경로참조, mappers/*.xml 경로참조)
- @Mapper("deptMapper")으로 선언된 인터페이스 경로(패키지) 지정 -> DI을 이용하여 코드에서 인스턴스 사용가능
└ context-properties.xml ( /WEB-INF/spring/ )
- propertiesService 빈( EgovPropertyServiceImpl) 등록 (pageUnit, pageSize 정보 설정)
META-INF/sqlmap/mappers/
└ employee.xml ( employee 테이블 SQL 문장 )
└ department.xml ( department 테이블 SQL 문장 )
META-INF/sqlmap/config/
└ sql-mybatis-config.xml ( META-INF/sqlmap/config/ )
- EmpVO, DeptVO, SearchVO 에 대한 각 alias 선언
META-INF/property/
└ db.properties ( META-INF/property/ )
- driver, url, username, password 등
META-INF/db/
└ ddl.sql ( META-INF/db/ ) : 예제에 사용될 테이블을 생성하는 create table ~ 문장
- IDS, EMPLOYEE, DEPARTMENT 테이블 생성
- IDS 테이블은 각 테이블의 다음 id (숫자)가 저장됨, 즉 한 행이 추가될 때마다 다음에 추가될 행의 id(숫자)를 저장해두는 역할을 함
└ dml.sql ( META-INF/db/ ) : 예제로 사용될 테이블에 샘플 데이터 입력
- IDS, EMPLOYEE, DEPARTMENT 테이블에 샘플 레코드 입력