JAVA

[Java] 전자정부프레임워크 MyBatis 예제

로춘남 2020. 9. 1. 11:28
728x90

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 테이블에 샘플 레코드 입력



출처: https://ddo-o.tistory.com/125

728x90