책 이미지
책 정보
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 개발/방법론 > 데이터베이스 프로그래밍 > 데이터베이스 구축
· ISBN : 9788960774612
· 쪽수 : 544쪽
책 소개
목차
『마이바티스 프로그래밍』
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 흔히 발생할 수 있는 에러 유형
『마이바티스를 사용한 자바 퍼시스턴스 개발』
1장, 마이바티스 처음 사용하기
___마이바티스 소개
___마이바티스를 사용하는 이유
______JDBC가 제시하는 표준형태의 코드를 제거한다
______배우기 쉽다
______레거시 데이터베이스에서도 잘 동작한다
______SQL을 사용한다
______스프링 프레임워크와 구글쥬스 프레임워크의 연동을 지원한다
______서드파티 캐시 라이브러리와의 연동을 지원한다
______좀더 나은 성능을 내도록 만든다
___마이바티스 설치와 설정
______STUDENTS 테이블을 만들고 샘플 데이터를 입력한다
______자바 프로젝트를 만들고 클래스패스에 mybatis-3.2.2.jar를 추가한다
______mybatis-config.xml 과 StudentMapper.xml 설정파일을 만든다
______MybatisSqlSessionFactory 클래스의 싱글턴 객체를 만든다
______StudentMapper인터페이스와 StudentService 클래스를 만든다
______StudentService 를 테스트하기 위해 JUnit 테스트를 만든다
______어떻게 동작할까?
___샘플 도메인 모델
___요약
2장 마이바티스 시작하기
___XML을 사용한 마이바티스 설정
______environment 엘리먼트
______dataSource 엘리먼트
______transactionManager 엘리먼트
______properties 엘리먼트
______typeAliases 엘리먼트
______typeHandlers 엘리먼트
______settings 엘리먼트
______mappers 엘리먼트
___자바 API를 사용한 마이바티스 설정
______Environment
______DataSource
______TransactionFactory
______typeAliases
______typeHandlers
______Settings
______Mappers
___마이바티스 로깅 설정을 변경하기
___정리
3장 XML을 사용한 SQL 매퍼
___매퍼 XML과 매퍼 인터페이스
___매핑구문
______INSERT 구문
______UPDATE 구문
______DELETE 구문
______SELECT 구문
___결과매핑(ResultMaps)
______간단한 결과매핑
______결과매핑 확장
______일대일 매핑
______내포된 결과매핑을 사용한 일대일 매핑
______내포된 Select를 사용한 일대일 매핑
______일대다 매핑
______내포된 결과매핑을 가진 일대다 매핑
______내포된 Select를 가진 일대다 매핑
___동적 SQL
______If 조건
______choose, when, 그리고 otherwise 조건
______where 조건
______trim 조건
______foreach 루프
______set 조건
___마이바티스 레시피
______이늄(enum) 타입 다루기
______CLOB/BLOB 타입 다루기
______여러개의 입력 파라미터 전달
______여러개의 결과를 Map으로 저장
______로우바운드(RowBounds)를 사용해서 페이지처리된 결과셋
______ResultSetHandler를 사용한 ResultSet 처리방식 재정의
______캐시
___정리
4장 애노테이션을 사용한 SQL 매퍼
___애노테이션을 사용한 매퍼 인터페이스
___매핑구문
______@Insert
______@Update
______@Delete
______@Select
___결과매핑
______일대일 매핑
______일대다 매핑
___동적 SQL
______@InsertProvider
______@UpdateProvider
______@DeleteProvider
___정리
5장 스프링과 연동하기
___스프링 애플리케이션의 마이바티스 설정
______설치
______마이바티스 빈 설정
___SqlSession 활용
___매퍼 활용
______
______@MapperScan
___스프링을 사용한 트랜잭션 관리
___정리