서브메뉴

본문

마이바티스 프로그래밍 (JDBC를 대체하는 쉽고 빠른 자바 데이터베이스 프레임워크)
마이바티스 프로그래밍 (JDBC를 대체하는 쉽고 빠른 자바 데이터베이스 프레임워크)
저자 : 이동국
출판사 : 에이콘출판
출판년 : 2013
ISBN : 9788960774216

책소개


JDBC 개발자나 아이바티스 개발자가 마이바티스를 손쉽게 이용할 수 있도록 차근차근 설명하는 세계 최초의 마이바티스 가이드

마이바티스(MyBatis)는 JDBC를 대체하는 자바 퍼시스턴스 프레임워크로 국내에서 가장 인기 있는 퍼시스턴스 프레임워크인 아이바티스(iBatis)가 새로이 업그레이드된 제품이다. 마이바티스는 아이바티스가 가진 간결함에, 아이바티스에 없던 다양한 기능과 개선을 더했다.

이 책은 JDBC를 사용하는 개발자가 쉽게 마이바티스를 사용할 수 있도록 차근차근 설명한다. 그리고 기존에 아이바티스를 사용하던 개발자에게는 마이바티스와의 차이점을 설명해서 쉽게 전환할 수 있도록 지원한다. 따라서 데이터베이스를 다루는 퍼시스턴스 프레임워크를 사용한 적 없는 개발자는 데이터베이스 연동작업을 매우 쉽게 할 수 있으며, 아이바티스를 사용해온 개발자는 처음 아이바티스를 사용할 때 느꼈던 그 간결함이 새로운 느낌으로 다가올 것이다. 이 책에서 다루는 마이바티스 버전은 3.2.1이고 스프링 연동모듈은 1.2.0이다.

목차


1장 JDBC 코드의 대안 마이바티스
___1.1 전통적인 JDBC 프로그래밍
___1.2 마이바티스란 무엇인가?
______1.2.1 마이바티스 프로젝트
______1.2.2 다른 언어를 위한 마이바티스
______1.2.3 연동 모듈
___1.3 데이터 매퍼 마이바티스의 역사
___1.4 마이바티스 구조
___1.5 정리

2장 마이바티스 시작
___2.1 개발 환경의 구축
______2.1.1 데이터베이스 설치
______2.1.2 JDK 설치
______2.1.3 이클립스 설치와 예제 코드 다운로드
______2.1.4 톰캣 설치
___2.2 JDBC 코드 먼저 살펴보기
___2.3 마이바티스 라이브러리 설명
______2.3.1 마이바티스 라이브러리 파일 복사
______2.3.2 메이븐으로 마이바티스 라이브러리 관리
___2.4 마이바티스 설정 파일(mybatis-config.xml)
___2.5 마이바티스 객체 생성하기(SqlSessionFactory)
___2.6 정리

3장 마이바티스 CRUD
___3.1 데이터 구조 파악
______3.1.1 데이터베이스 테이블 구조 파악
______3.1.2 자바 모델 클래스
___3.2 마이바티스 파라미터 표기법
___3.3 데이터 조회
______3.3.1 데이터를 조회하는 전통적인 JDBC 코드
______3.3.2 데이터를 조회하는 매핑 구문으로 분리
______3.3.3 매핑 구문을 사용하는 마이바티스 코드 생성
______3.3.4 마이바티스 코드를 사용한 데이터 조회
______3.3.5 데이터를 조회하는 마이바티스 실행 결과 로그
___3.4 데이터 입력
______3.4.1 데이터를 입력하는 전통적인 JDBC 코드
______3.4.2 데이터를 입력하는 매핑 구문으로 분리
______3.4.3 매핑 구문을 사용하는 마이바티스 코드 생성
______3.4.4 마이바티스 코드를 사용해 데이터를 입력
______3.4.5 데이터를 입력하는 마이바티스 실행 결과 로그
___3.5 데이터 수정
______3.5.1 데이터를 수정하는 전통적인 JDBC 코드
______3.5.2 데이터를 수정하는 매핑 구문으로 분리
______3.5.3 매핑 구문을 사용하는 마이바티스 코드 생성
______3.5.4 마이바티스 코드를 사용해 데이터 수정
______3.5.5 데이터를 수정하는 마이바티스 실행 결과 로그
___3.6 데이터 삭제
______3.6.1 데이터를 삭제하는 전통적인 JDBC 코드
______3.6.2 데이터를 삭제하는 매핑 구문으로 분리
______3.6.3 매핑 구문을 사용하는 마이바티스 코드 생성
______3.6.4 마이바티스 코드를 사용해 데이터 삭제
______3.6.5 데이터를 삭제하는 마이바티스 실행 결과 로그
___3.7 정리

4장 마이바티스 웹 애플리케이션과 활용
___4.1 마이바티스를 사용하는 웹 프로젝트
___4.2 매퍼 XML과 매퍼 인터페이스
______4.2.1 XML만 사용
______4.2.2 인터페이스만 사용하는 경우
______4.2.3 XML과 인터페이스를 함께 사용하는 경우
___4.3 트랜잭션 관리
______4.3.1 SqlSessionFactory
______4.3.2 트랜잭션 처리
___4.4 조회 결과를 자바 객체에 설정(결과 매핑)
______4.4.1 한 개의 테이블을 사용하는 결과 매핑
______4.4.2 생성자를 통한 객체 생성(constructor 엘리먼트)
______4.4.3 1:1 관계를 처리하는 association엘리먼트
______4.4.4 1:N 관계를 처리하는 collection 엘리먼트
______4.4.5 동적으로 결과 매핑을 선택하는 discriminator 엘리먼트
___4.5 정리

5장 마이바티스와 스프링 웹 애플리케이션 연동
___5.1 마이바티스 라이브러리
______5.1.1 마이바티스 스프링 연동 모듈 복사
______5.1.2 메이븐으로 스프링 연동 모듈 관리
___5.2 스프링을 사용하는 자바 웹 프로젝트 생성
___5.3 스프링 설정
______5.3.1 스프링의 데이터베이스 관련 설정
______5.3.2 스프링 연동 설정
___5.4 레이어별 예제
______5.4.1 CommentService
______5.4.2 CommentRepository
______5.4.3 데이터를 출력하는 JSP
___5.5 마이바티스와 스프링 JDBC를 함께 사용
______5.5.1 스프링 JDBC 객체 생성
______5.5.2 스프링 JDBC 사용
___5.6 정리

6장 마이바티스 설정 파일
___6.1 복잡한 마이바티스 설정 파일
___6.2 properties 엘리먼트
___6.3 settings 엘리먼트
___6.4 typeAliases 엘리먼트
___6.5 typeHandlers 엘리먼트
___6.6 objectFactory 엘리먼트
___6.7 plugins 엘리먼트
___6.8 environments 엘리먼트
______6.8.1 트랜잭션 관리자
______6.8.2 데이터 소스
___6.9 mappers 엘리먼트
___6.10 정리

7장 매퍼 XML과 매퍼 인터페이스
___7.1 매퍼 XML
______7.1.1 cache-ref, cache 엘리먼트
______7.1.2 resultMap 엘리먼트
______7.1.3 sql 엘리먼트
______7.1.4 insert, update, delete 엘리먼트
______7.1.5 selectKey엘리먼트
______7.1.6 select 엘리먼트
___7.2 매퍼 인터페이스
______7.2.1 간단한 CRUD를 처리하기 위한 매퍼 인터페이스
______7.2.2 다양한 애노테이션 결과 매핑 살펴보기
______7.2.3 매퍼 인터페이스에서 사용 가능한 애노테이션
___7.3 SqlSession API
___7.4 정리

8장 동적 SQL
___8.1 XML에서 동적 SQL을 위한 엘리먼트를 사용
______8.1.1 OGNL의 기본 문법
______8.1.2 if 엘리먼트
______8.1.3 choose(when, otherwise) 엘리먼트
______8.1.4 trim(where) 엘리먼트
______8.1.5 foreach 엘리먼트
______8.1.6 set 엘리먼트
______8.1.7 OGNL을 사용해 정적 메소드와 정적 필드에 접근
___8.2 마이바티스의 구문 빌더 API를 사용해 생성
______8.2.1 SelectBuilder
______8.2.2 SqlBuilder
___8.3 일반적인 자바 코드 사용
___8.4 정리

9장 마이바티스 제너레이터
___9.1 마이바티스 제너레이터 소개
___9.2 설치 방법과 실행 방법
______9.2.1 압축 파일의 다운로드와 실행
______9.2.2 메이븐으로 jar 파일을 다운로드하고 실행
______9.2.3 이클립스 플러그인 설치
___9.3 설정 파일과 설정 파일에 따른 생성 결과
______9.3.1 애노테이션만 사용해 매핑 구문을 정의
______9.3.2 XML만 사용해 매핑 구문 정의
______9.3.3 애노테이션과 XML을 함께 사용해 매핑 구문 정의
___9.4 설정 파일의 세부 옵션
______9.4.1 generatorConfiguration
______9.4.2 properties, property
______9.4.3 classPathEntry
______9.4.4 context
______9.4.5 commentGenerator
______9.4.6 jdbcConnection
______9.4.7 javaModelGenerator
______9.4.8 javaClientGenerator
______9.4.9 sqlMapGenerator
______9.4.10 table
______9.4.11 generatedKey
___9.5 제너레이터 활용 방안
______9.5.1 제너레이터가 생성하는 코드 전체를 그대로 사용
______9.5.2 제너레이터로 코드 생성 후 실제 사용하는 부분만 복사 후 반영
___9.6 정리______

부록A 아이바티스에서 마이바티스로 전환
___A.1 DTD 변환 규칙
______A.1.1 설정 파일의 DTD
______A.1.2 매퍼 XML의 DTD
___A.2 설정 파일 변환 규칙
______A.2.1 최상위 엘리먼트
______A.2.2 settings 엘리먼트
______A.2.3 typeAlias 엘리먼트
______A.2.4 transactionManager 엘리먼트와 dataSource 엘리먼트
______A.2.5 매퍼 설정
___A.3 매퍼 XML 변환 규칙
______A.3.1 XML 엘리먼트
______A.3.2 중첩 결과 매핑 설정
______A.3.3 parameterMap
______A.3.4 인라인 파라미터(파라미터 표기법)
______A.3.5 jdbcType
______A.3.6 저장 프로시저
______A.3.7 캐시
______A.3.8 동적 SQL
___A.4 자바 API
______A.4.1 SqlMapClient
______A.4.2 사용자 정의 타입 핸들러

부록B 마이바티스 편집기
___B.1 설치 방법
___B.2 제공하는 기능

부록 C 흔히 발생할 수 있는 에러 유형

QuickMenu