본문 바로가기

프레임워크11

Mybatis-Spring 트랜잭션 처리 1.스프링에서 트랜잭션을 쓰기위한 XML 설정 2.트랜잭션 처리의 예시 회원이 게시판에 글을쓰면 회원에게 포인트 1점을 부여하겠다) 업무가 두가지로 나뉘어짐 (글을쓰는 업무 , 회원에게 포인트를 부여하는 업무 - 두개의 업무를 하나의 논리적인 단위로묶음 (트랜잭션 처리) ) -> 시작 1. 회원이 글을 쓰고 글작성 완료 버튼을 누른다.(insert) 2. 회원에게 포인트 부여(update member set point = point + 1 where id='hong') -> 끝 ( 글을쓰는 업무와 회원에게 포인트를 부여하는 업무 둘다 성공해야지 정상적으로 DB에 Commit됨 ) ( 글쓰기 작성은 성공했는데 회원포인트 부여하는 업무에서 에러발생 - 두개의 업무중 둘중에 하나라도 안된다면 DB에 실반영되지.. 2020. 6. 15.
select 결과를 DTO 클래스에 매핑하기 1.resultType에 select한 결과를 매핑할 DTO클래스 지정 2. 위에서 select * from test 결과 -> id(1),value(20) [0] , id(2),value(30) [1] -> Test 클래스에 id = 1 , value = 20 | id = 2 , value = 30 이 설정된다 -> select한 결과가 두건이므로 Test 객체가 두개생성되며 DB의 컬럼이름과 일치하는 해당필드에 각각 값이 설정된다 -> Test클래스의 멤버필드에 값이 설정되는데 Setter메소드가 있으면 그것을 통해 설정되고 없으면 필드에 직접 설정된다 결론 : select한 결과가 매핑될 DTO 클래스(Test)의 조건 -> DB 테이블의 컬럼이름과 해당DTO 클래스의 멤버필드이름이 똑같아야 값이 .. 2020. 6. 14.
MyBatis란 무엇인가? 개발과 유지보수가 쉽도록 자바코드에 섞여있는 SQL구문을 별도의 파일로 분리해서 따로따로 사용하고 JDBC프로그래밍의 복잡함을 덜어줄수 있음 자바코드만으로 Mybatis 사용하는 과정) 1.DB를 연동하고 SQL 맵퍼 파일들이 있는 경로를 설정해주는 XML파일을 만든다.(SqlConfig.XML) 2.DAO 단에서 DB처리를 하기위해 사용하는 SQL구문이 담긴 SqlSessionFactory객체를 만든다(싱글톤 Static) 3.sqlsession 객체안에 있는 메소드(insert,delete,update..등등)을 실행할경우 SQL구문이 저장된 sqlmapper 파일(XML)에서 SQL을 찾아 해당 구문을 실행한다 -> sqlsession.openSession() 함수를 호출해 실제 sql을 날릴수 있.. 2020. 6. 14.