우당탕탕 개발일지
49일차_MyBatis 본문
반응형
1. MyBatis(SQL Mapper)
자바오브젝트와 SQL문 사이의 자동 매핑 기능을 지원하는 ORM 프레임워크
* ORM(Object Relational Mapping) 프레임워크: 데이터베이스와 객체와의 관계 맵핑
특징
[ 장점 ]
- SQL문을 이용해서 RDB에 접근, 데이터를 객체화 시켜줌
- SQL을 직접 작성하여 쿼리 수행 결과를 객체와 매핑
- 쿼리문을 xml로 분리 가능
- 복잡한 쿼리문 작성 가능
- 데이터 캐싱 기능으로 성능 향상
[ 단점 ]
- 객체와 쿼리문 모두 관리해야함
- CRUD 메소드를 직접 다 구현해야함.
MyBatis 구조
사용법
1. 프로젝트 구조
mybatis-config.xml
- 환경 설정 파일
- Connection Pool (DB 연결)
- mapper.xml 파일 경로 (sql문 저장파일)
- typeAlias (별명)
userMapper.xml
- sql문을 가지고 있는 파일
2. mybatis-config.xml
configuration : 환경 설정
properties : properties 파일 등록
typeAliases : 자주 사용하는 객체 타입에게 별명 설정
environments : DB에 연결하기 위한 설정 정보 선언
- < environments dafault="이름" > : 여러개의 environment중에 기본으로 연결한 정보 설정
- 즉, 여러개의 environment를 선언하면 여러개의 DB에 연결할 수 있다.
- < environment id="이름" >로 구분한다.
transactionManager : 트랜잭션 제어를 누가할 것인지 설정
- type="JDBC" : JDBC가 커밋/롤백 직접 처리 (수동 commit)
- type="MANAGED" : 트랜잭션에 대해 직접적인 영향을 행사하지 않음 (자동 commit)
dataSource : 실제 DB 접속 정보 설정
- type: ConnectionPool를 사용할건지에 대한 여부
- type="POOLED" : 최초 Connection 객체를 생성할 때 그 정보를 pool 영역에 저장하고 이후 재사용 가능
- type="UNPOOLED" : Connection 객체를 별도로 저장하지 않고 객체 호출 시 매번 생성하여 사용
mappers: DB에 사용되는 쿼리문을 담은 mapper 파일 등록
- mapper 태그의 resource에 mapper 파일 경로 지정
3. MySqlDB.properties
DB 연동을 위해 필요한 정보를 properties 파일로 저장
4. DAO 생성자
1. 환경설정 파일 정보 저장
2. 저장한 환경파일을 SqlSessionFactory 객체에 저장
2. 기능
1. 등록
콘솔
2. 출력
3. 수정
4. 삭제
5. 검색
3. Git Hub
https://github.com/ujin302/Web2024/tree/main/myBatis
반응형
'비트캠프 > 이론 및 정리' 카테고리의 다른 글
51일차_MVC 패턴 (0) | 2024.09.12 |
---|---|
50일차_EL/JSTL (2) | 2024.09.11 |
48일차_페이징, MyBatis 맛보기 (0) | 2024.09.09 |
47일차_회원정보 수정 (0) | 2024.09.09 |
46일차_로그인, Cookie vs HttpSession (0) | 2024.09.05 |