Spring Framework
MyBatis
sang0
2019. 10. 16. 18:02
테이블 설계 -> DO 만들기 -> xml만들기
쿼리문 -> 밖으로 모듈화 됨, xml에 만들어짐
MyBatis에서 VO를 만들 때는 기본 생성자를 무조건 만든다
form으로 받은 데이터는 생성자로 주입
데이터베이스로 받을때는 setter, getter로 받음
- 값 전달 순서 : form -> Servlet-> DAO -> DataBase
- 디비에서 자동 증가되는 컬럼(auto increment)
- VO클래스 입장에서는 내가 따로 값을 넣어주지 않으면 계속 null인 상태임
- 자동 증가 값이 기본키일 경우 값이 안들어가 있어서 문제가 생김
- 기본값일 경우 뽑아야하는데 값이 자꾸 null이 나옴
- 동적인 쿼리
- select문의 where절과 연관됨
- 하나의 쿼리를 만들었는데 5개의 조건이 모두 검색됨
- 정적인 쿼리
- where절 조건이 변할떄마다 계속해서 쿼리문을 만들어야하는 것
- select문에서 where절 조건을 어떻게 주느냐에 따라서 계속적으로 select문이 만들어지는 쿼리
- db에서 값을 직접 다 가져오는 것(원산지에서 직접 사과 사오는 것) : ServiceLayer
- db에서 가져와서 가공하는 것(이마트에서 사과 사는 것) : Persistence Layer
- ex) 페이징 처리
- DataSource
- DataSource는 JDBC 명세의 일부분이면서 일반화된 연결 팩토리이다. 즉 DB와 관계된 connection 정보를 담고 있으며, bean으로 등록하여 인자로 넘겨준다. 이 과정을 통해 Spring은 DataSource로 DB와의 연결을 획득한다.
- emp.getDept().getNo()
- #{dept.no} -> hasing이 되어있을때 타고 들어가서 값을 구할 수 있다