mybatis 5

Mybatis Framework - 4 (Join 구현)

3개의 테이블로 4번 JOIN 포함관계가 있는 DTO를 List로 필드값 설정한다. join을 할 경우는 중복된 컬럼명에 대한 이름이 자동으로 변경되어 사용할 수 없기 때문에select * xxxx이 아닌 직접 컬럼명을 다 적어주는 것이 정석이다. resultMap 으로 mapping시 Collection을 사용하는 필드의 DTO가 포함관계인 DTO일 경우 Collection안에 Association을 이용하여 mapping을 추가로 해준다. resultMap 엘리먼트 하위 엘리먼트 선언 순서 constructor > id > result > association > collection > discriminator association 엘리먼트로 mapping을 설정한 경우 내부적으로 selectOne(..

Web Dev 2022.02.28

JSP MVC2 + Mybatis

Mybatis 를 이용하여 DAO를 만들고, JSP MVC Model 2 방식 사용하여 간단한 웹프로그램 실습 [ 순서 ] 1. web.xml 환경설정 (filter 설정, controller 설정, model properties설정) 2. filter(utf-8) 설정 3. controller 제작 4. model.properties 제작(수정필요) 5. dto 제작(list 형태의 필드생성) 6. library 추가(Mybatis, ojdbc, jstl) + log4j.xml 환경설정하여 Mybatis logging 7. db.properties 작성 8. Mybatis 환경설정 (DB연결정보, dto typeAliase, mapper package) 9. AbstractSession 추상클래스 작성..

Web Dev 2022.02.27

MyBatis Framework - 3 (Join 구현)

> 1:1 관계의 조인 FK 제약조건 Join 방식 2 (기존 DTO를 재사용) POJO(Plain Old Java Object) 객체 사용 : 기존 클래스를 재사용하여 새로운 클래스를 쉽게 작성하여 생산성 증가 및 유지보수 효율성 증가 1. Join을 위한 DTO를 따로 생성 2. XML매퍼에 resultMap을 이용한 매핑 ⇒ DTO 클래스에서 필드가 포함관계로 작성된 경우 포함 관계의 필드에 인스턴스를 매핑하여 저장하기 위해서는 반드시 resultMap 엘리먼트를 사용하여 매핑 정보 제공 association 태그 : 1:1 관계의 테이블 조인 검색행의 컬럶값을 포함 관계의 인스턴스로 생성하여 DTO클래스의 필드에 매핑하여 저장하기 위한 엘리먼트 ⇒ association의 하위 엘리먼트(id 엘리먼..

Web Dev 2022.02.25

MyBatis Framework - 2 (Mapper Binding)

Interface 기반의 Mapper 파일 사용 XML mapper 장점 : 매핑 설정 기능과 동적 SQL 기능을 구현하기 편리 → 매핑 설정 중복 되지 않음 단점 : SqlSession 인스턴스로 SQL 명령을 사용하기 불편 Interface mapper 장점 : SqlSession 인스턴스로 SQL 명령을 XML 맵퍼보다 쉽게 제공받아 사용하기 편리 단점 : 매핑 설정 기능과 동적 SQL 기능을 구현하기 불편 → 매핑 설정 중복됨 1. 환경설정 파일에 mapper class 작성 class 속성 : Interface 기반의 맵퍼 파일의 경로를 속성값으로 설정 mybatis 프레임워크는 인터페이스를 이용하여 Mapper 설정 가능 ⇒ 추상메소드에 Mapper Annotation을 사용하여 SQL 명령 ..

Web Dev 2022.02.25

MyBatis Framework

MyBatis Framework Framework : 반 정도 완성된 프로그램! persistence framework 로써 DAO Class를 좀 더 쉽게 만드는 환경을 제공해주는 framework. Hivernate가 세계적으로 가장 많이 사용함. 그러나 우리나라는 MyBatis를 많이 사용함. WEB에서의 CRUD 작업만 놓고 보면 MyBatis 가 강력함. https://mybatis.org/mybatis-3/ko/getting-started.html POJO = VO 또는 DTO 3.0 ver 이전까지는 iBatis 이후 버전은 Google이 인수해서 MyBatis 1. lib build ojdbc : DBConnection 관련 log4j : 내부적으로 작성된 프로그램이 실행되는지 확인하기 위..

Web Dev 2022.02.24