728x90
방법1 - Mapper XML 파일을 기준으로 설정하기
1. pms/mapper/XxxMapper.xml 파일 변경
<mapper namespace="com.eomcs.pms.dao.MemberDao">
</mapper>
2. mybatis-config.xml 파일 변경
<mapper resource="com/eomcs/pms/mapper/BoardMapper.xml"/>
<mapper resource="com/eomcs/pms/mapper/MemberMapper.xml"/>
<mapper resource="com/eomcs/pms/mapper/ProjectMapper.xml"/>
<mapper resource="com/eomcs/pms/mapper/TaskMapper.xml"/>
3. pms.ClientApp 클래스 변경
- DAO 객체를 만들 때 SqlSession.getMapper()를 호출한다.
MemberDao memberDao = sqlSession.getMapper(MemberDao.class);
// XxxDao xxxDao = sqlSession.getMapper(XxxDao.class);
방법2 - DAO 인터페이스를 기준으로 설정하기
1. pms/conf/mybatis-config.xml 파일 변경
<package name="com.eomcs.pms.dao"/>
2. <mappers> 태그에 매퍼 XML 파일을 등록하는 대신에 DAO 인터페이스의 패키지를 등록
기존의 매퍼 파일을 DAO 인터페이스의 패키지 폴더로 옮긴다.
3. 매퍼 파일의 이름을 인터페이스 이름과 일치시킨다.
=> 주소를 같게 하면 코드를 간단하게 줄일 수 있다.
추가 작업1 - 트랜잭션을 다루는 일을 핸들러가 맡는다.
insert/update/delete 한 후 DAO에서 commit()을 호출 -> commit()/rollback()의 호출을 핸들러가 담당
1. .XxxHandler 클래스 변경
- insert/update/delete 을 실행한 경우 commit() 또는 rollback()을 호출
try {
projectDao.insert(project);
for (Member m : project.getMembers()) {
projectDao.insertMember(project.getNo(), m.getNo());
}
sqlSession.commit();
} catch (Exception e) {
// 예외가 발생하기 전에 성공한 작업이 있으면 모두 취소한다.
// 그래야 다음 작업에 영향을 끼치지 않는다.
sqlSession.rollback();
}
'DB' 카테고리의 다른 글
[project] sql parameterType 2개 이상 주는 방법 (0) | 2021.10.29 |
---|---|
Mybatis - useGeneratedKeys (0) | 2021.10.22 |
mybatis - Data Persistence Framework, SqlSession 사용법, SQL 문에 삽입할 파라미터 전달하기 (0) | 2021.10.21 |
DBMS에 SQL문 보내기 : select,update,delete, FK 가 참조하는 데이터 지우는 방법, insert 한 후 auto increment PK 값 리턴 받기 (0) | 2021.10.20 |
데이터 관리를 DBMS에게 맡기기 : JDBC API 사용 (0) | 2021.10.19 |