샨샨
2020. 12. 1. 11:52
반응형
MyBatis
자바 오브젝트와 SQL문 사이의 자동 Mapping 기능을 지원하는 sql Mapper이다. 마이바티스는 JDBC로 처리하는 상당부분의 코드와 파라미터 설정 및 결과 매핑을 대신해준다. 또한 자바 POJO 를 설정해서 매핑하기 위해 XML과 Annotation을 사용할 수 있다.
MyBatis 특징
- SQL문과 자바 객체간의 mapping기능 제공
- 간단한 코드로 DB접근 가능하게 함
- SQL문은 자바에서 완전히 분리하여 XML파일에 별도로 관리 : 기존에는 DAO 파일에 SQL문을 작성했음. Mybatis에서는 Mapper파일에 SQL문을 입력하고 필요할 때마다 찾아올 수 있다.
- Spring과 연동하여 자동화 처리
- 유지보수성 향상 : Mapper 파일에만 SQL 코드를 입력하고 나중에 SQL 코드를 변경할 때 이곳에서 유지보수만 하면, DAO에서는 아무런 영향을 받지 않는다.
JDBC와 MyBatis의 차이
JDBC
- preparedstatement를 직접 생성한다.
- resultSet으로 결과를 직접 받아야한다.
- 직접 connection을 맺는다.
MyBatis
- 자동으로 connection을 만들고 알아서 닫는다.
- 속성을 지정하면 알아서 preparedstatement를 생성한다.
- 리턴 타입을 지정하면 ResultSet을 만들어 하던 일을 처리한다.
Hibernate
Hibernate란 ? Object Relation Mapping(ORM - 객체 관계 매핑) Framework 중 하나
- 객제지향 프로그래밍과 관계형 데이터베이스의 차이로 인해 발생하는 제약사항의 해결책
- 제약 사항 : 데이터베이스는 데이터들의 집합 개념을 기반으로 하기 때문에 객체지행 개발방식과 근본적으로 다른점이 있어
객체 간 관계를 데이터베이스에 그대로 저장하기 어려운 문제가 있음.
ORM (Object Relation Mapping) : 예전부터 사용해오던 ResultSet 객체를 사용 목적에 맞는 형태의 객체로 변환하는 작업
반응형