호환성 관련 문의
- 작성자 :
- 이*희
- 작성일 :
- 2013-06-17 17:49:00
- 조회수 :
- 1,703
- 구분 :
- 기타
- 진행상태 :
- 완료
Q
수고하십니다.
호환성 인증 관련하여 아래와 같이 문의 드립니다.
---------------------------------------------------------------
3. 데이터 액세스 아키텍처 규칙
- DAO 클래스들은 전자정부 표준 아키텍처를 준수하여야 합니다.
- EgovAbstractDAO를 상속받아야 합니다.
- SqlMapClientDaoSupport의 insert, delete, update, select, list 메소드를 호출할 수 없습니다.
---------------------------------------------------------------
상기 호환성 기준은 iBatis 기준으로 알고 있습니다.
몇일전에 MyBatis의 경우에 대한 호환성 인증 기준을 요청드려서
주신 답변에 대해 다시 확인 요청 드립니다.
<이전 답변 >
---------------------------------------------------------------
어제 날짜(6월 13일)로 "정보시스템 구축 발주자를 위한 표준프레임워크 적용가이드 2.3"을 게시하였습니다. (알림마당 -> 자료실)
내용 중에 "표준프레임워크 적용여부를 확인하는 간단한 방법" 부분에 세부 적용 기준을 설명하였습니다.
추가적으로 MyBatis 적용에 필요한 가이드는 다음 URL을 참조하시면 되실 것 같습니다.
http://www.egovframe.org/wiki/doku.php?id=egovframework:rtea2.6
특히 MyBatis -> 표준프레임워크 기반 적용 가이드 부분은 표준프레임워크 기반으로 MyBatis를 적용하는 가이드를 포함하고 있습니다.
---------------------------------------------------------------
<2차 문의 내역>
---------------------------------------------------------------
1. 알림마당 -> 자료실 -> "정보시스템 구축 발주자를 위한 표준프레임워크 적용가이드 2.3"
해당 첨부 문서([가이드]표준프레임워크_적용가이드_v2.3_20130612.hwp) 내용중
"EgovMapperDAO(MyBatis)를 상속하여야 함" 이라는 문구에서 EgovMapperDAO Class를
전자정부 F/W Lib 에서 아무리 찾아도 찾을 수 없습니다.
확인 요청 드립니다.
2. iBatis 호환성 기준중 "SqlMapClientDaoSupport의 insert, delete, update, select, list 메소드를 호출할 수 없습니다" 라는
문구가 있는데요 MyBatis적용시에는 SqlSessionDaoSupport의 insert, delete, update, select, list 메소드를 호출하지 말고
EgovAbstractMapper의 insert, delete, update, select, list를 반드시 호출해서 개발하라는 내용인지 확인 요청 드립니다.
즉 EgovAbstractMapper Class를 상속 받아서 Override하여 getSqlSession().insert(...), getSqlSession().update(...) 식으로 직접 호출하면
호환성 인증 기준에 문제가 발생하는 것인지 확인 요청 드립니다.
---------------------------------------------------------------
호환성 인증 관련하여 아래와 같이 문의 드립니다.
---------------------------------------------------------------
3. 데이터 액세스 아키텍처 규칙
- DAO 클래스들은 전자정부 표준 아키텍처를 준수하여야 합니다.
- EgovAbstractDAO를 상속받아야 합니다.
- SqlMapClientDaoSupport의 insert, delete, update, select, list 메소드를 호출할 수 없습니다.
---------------------------------------------------------------
상기 호환성 기준은 iBatis 기준으로 알고 있습니다.
몇일전에 MyBatis의 경우에 대한 호환성 인증 기준을 요청드려서
주신 답변에 대해 다시 확인 요청 드립니다.
<이전 답변 >
---------------------------------------------------------------
어제 날짜(6월 13일)로 "정보시스템 구축 발주자를 위한 표준프레임워크 적용가이드 2.3"을 게시하였습니다. (알림마당 -> 자료실)
내용 중에 "표준프레임워크 적용여부를 확인하는 간단한 방법" 부분에 세부 적용 기준을 설명하였습니다.
추가적으로 MyBatis 적용에 필요한 가이드는 다음 URL을 참조하시면 되실 것 같습니다.
http://www.egovframe.org/wiki/doku.php?id=egovframework:rtea2.6
특히 MyBatis -> 표준프레임워크 기반 적용 가이드 부분은 표준프레임워크 기반으로 MyBatis를 적용하는 가이드를 포함하고 있습니다.
---------------------------------------------------------------
<2차 문의 내역>
---------------------------------------------------------------
1. 알림마당 -> 자료실 -> "정보시스템 구축 발주자를 위한 표준프레임워크 적용가이드 2.3"
해당 첨부 문서([가이드]표준프레임워크_적용가이드_v2.3_20130612.hwp) 내용중
"EgovMapperDAO(MyBatis)를 상속하여야 함" 이라는 문구에서 EgovMapperDAO Class를
전자정부 F/W Lib 에서 아무리 찾아도 찾을 수 없습니다.
확인 요청 드립니다.
2. iBatis 호환성 기준중 "SqlMapClientDaoSupport의 insert, delete, update, select, list 메소드를 호출할 수 없습니다" 라는
문구가 있는데요 MyBatis적용시에는 SqlSessionDaoSupport의 insert, delete, update, select, list 메소드를 호출하지 말고
EgovAbstractMapper의 insert, delete, update, select, list를 반드시 호출해서 개발하라는 내용인지 확인 요청 드립니다.
즉 EgovAbstractMapper Class를 상속 받아서 Override하여 getSqlSession().insert(...), getSqlSession().update(...) 식으로 직접 호출하면
호환성 인증 기준에 문제가 발생하는 것인지 확인 요청 드립니다.
---------------------------------------------------------------
A
안녕하세요. 이병희님.
우선 다음 가이드를 보시면 버전이 변경(기존에 없었다면 추가)되는 dependency가 있습니다.
http://www.egovframe.org/wiki/doku.php?id=egovframework:rte2:psl:dataaccess:mybatisguide
dependency는
<dependency>
<groupId>egovframework.rte</groupId>
<artifactId>egovframework.rte.psl.dataaccess</artifactId>
<version>2.6.0</version>
</dependency>
입니다.
이 library안에 기존 iBatis 연결을 위한 EgovAbstracDAO뿐만 아니라 MyBatis 연결을 위한 EgovAbstractMapper도 있습니다.
두번째는 형식적으로 EgovAbstractDAO를 상속하고 실제 활용하지 않는 경우를 판단하기 위해 EgovAbstractDAO의 메소드를 호출하도록 규정한 것입니다.
실제적인 의미는 DAO(@Repository) 또는 Mapper layer가 구분되고, iBatis 또는 MyBatis를 사용하였는지입니다.
이 기준에 의하면 되도록 EgovAbstractMapper의 메소드를 사용하시면 되지만, 말씀하신 것 처럼 getSqlSession() 메소드를 통해 호출하셔도 의미적으로 문제가 되지 않을 것 같습니다.
다만, 소스를 보시면 아시겠지만 EgovAbstractMapper의 메소드들도 getSqlSession() 메소드를 통해 구현되어 있기 때문에 안쓰실 이유가 없다가 판단됩니다.
그럼, 즐거운 하루되십시오.
감사합니다.
우선 다음 가이드를 보시면 버전이 변경(기존에 없었다면 추가)되는 dependency가 있습니다.
http://www.egovframe.org/wiki/doku.php?id=egovframework:rte2:psl:dataaccess:mybatisguide
dependency는
<dependency>
<groupId>egovframework.rte</groupId>
<artifactId>egovframework.rte.psl.dataaccess</artifactId>
<version>2.6.0</version>
</dependency>
입니다.
이 library안에 기존 iBatis 연결을 위한 EgovAbstracDAO뿐만 아니라 MyBatis 연결을 위한 EgovAbstractMapper도 있습니다.
두번째는 형식적으로 EgovAbstractDAO를 상속하고 실제 활용하지 않는 경우를 판단하기 위해 EgovAbstractDAO의 메소드를 호출하도록 규정한 것입니다.
실제적인 의미는 DAO(@Repository) 또는 Mapper layer가 구분되고, iBatis 또는 MyBatis를 사용하였는지입니다.
이 기준에 의하면 되도록 EgovAbstractMapper의 메소드를 사용하시면 되지만, 말씀하신 것 처럼 getSqlSession() 메소드를 통해 호출하셔도 의미적으로 문제가 되지 않을 것 같습니다.
다만, 소스를 보시면 아시겠지만 EgovAbstractMapper의 메소드들도 getSqlSession() 메소드를 통해 구현되어 있기 때문에 안쓰실 이유가 없다가 판단됩니다.
그럼, 즐거운 하루되십시오.
감사합니다.