mybatis 설정하기
- Mybatis는 SQL 질의문을 통해 결과물을 개발자가 지정한 클래스에 매핑하여 내보내주는 아주 유용한 프레임워크이다. SQL 질의문은 xml파일에서 관리하여 SQL 질의문이 수정되어도 컴파일이 필요없어 수정하기 편하다. (기존에는 .java파일에서 작성되어 컴파일이 필요했다.)
- Mybatis는 SqlSession이라는 자바 인터페이스를 이용해서 명령어 실행, Mapper 획득, 트랙잭션 등을맡게 된다.
- Mybatis는 sql문을 관리해주고, DAO의 긴 코딩을 단숨에 줄여준다.
# Mybatis는 빨간 영역에 해당되는 부분이다.
시작하기
모든 MyBatis 애플리케이션은 SqlSessionFactory 인스턴스를 사용한다. SqlSessionFactory 인스턴스는 SqlSessionFactoryBuilder를 사용하여 만들 수 있다.
SqlSessionFactoryBuilder는 XML 설정파일에서 SqlSessionFactory인스턴스를 빌드 할 수 있다.
# 이 코드를 한번보면, InputStream 타입의 inputStream 변수에 xml 설정 파일을 담고있는 resource를 getResourceAsStream하고 그 inputStream으로, sqlSessionFactory를 빌드 하고 있다.
# 만들어진 sqlSessionFactory로 openSession하여 SqlSession 객체를 생성 했다.
# SqlSessionFactory는 말 그대로 SqlSession 인스턴스를 만들 수 있다. SqlSession은 데이터베이스에 대해 SQL 명령어를 실행하기 위해 필요한 모든 메서드를 가지고 있다.
XML 설정파일 살펴보기
# <properties>를 통해서 외부에 설정했다. MyBatis는 properties요소에 명시된 속성을 가장 먼저 읽는다.
# 외부에 선언된 db.properties는 다음과 같다. 해당 파라미터를 가져오는 것이다.
# 마지막에 <mappers>는 매핑된 SQL 구문의 설정을 어디에 둘지 지정하는 것이다.
매핑 SQL XML 파일 살펴보기
# namespace은 명명공간이라 불리며, 인터페이스 바인딩을 가능하게 한다. 명명공간을 사용하고 자바 패키지의 명명공간을 두면 코드가 깔끔해지고 MyBatis의 사용성이 크게 향상된다.
# <select> 구문은 MyBatis에서 가장 흔히 사용할 요쇼이다. 데이터베이스에서 데이터를 가져온다. 대부분의 애플리케이션은 데이터를 수정하기보다는 조회하는 기능을 많이 가지기때문에 MyBatis는 데이터를 조회하고 그 결과를 매핑하는데 집중하고 있다. 기존에 sql문을 만들고 PreparedStatement 객체를 통해 다시 그 객체로 set을 해준거에 비해 아주 짧아진 것을 확인할 수 있다.
# 속성
# 데이터를 변경하는 구문인 <insert>,<update>,<delete> 부분은 간단하다.
'Foundation > - JSP' 카테고리의 다른 글
MyBatis를 이용한 게시판(board)과 댓글(comment) (0) | 2017.12.21 |
---|---|
Servlet을 이용한 게시판(board)과 댓글(comment) (0) | 2017.12.18 |
oracle 환경 설정 및 계정 관리 (0) | 2017.12.14 |
EL, Servlet의 개념, 게시판 (2) | 2017.12.11 |
EL, JSTL (0) | 2017.12.07 |