교재출처 : 자바 웹을 다루는 기술. 이병승. 길벗
http://www.yes24.com/Product/Goods/68371015
자바 웹을 다루는 기술
기초부터 실무까지 한 권으로!최근 효율적으로 개발할 수 있는 웹 프레임워크가 많이 나왔지만, JSP와 서블릿은 자바 웹 개발에서 가장 중요하고도 기본이 되는 내용이다. 기초가 튼튼해야 웹 프
www.yes24.com
인터넷 사용자가 크게 증가하고 애플리케이션의 기능이 복잡해지면서 JDBC만으로 개발하는 것은 한계에 부딪혔다. 기존 JDBC로 개발할 경우 반복적으로 구현해야 할 SQL문도 많을 뿐 아니라 각각의 SQL문도 복잡하다. 따라서 자연스럽게 마이바티스나 하이버네이트 같은 데이터베이스 연동과 관련된 프레임워크가 등장하게 되었다.
기존의 JDBC를 연동하기 위해서는 다음과 같은 과정을 거쳐야 했다.
connection -> Statement 객체 생성 -> SQL문 전송 -> 결과 반환 -> close
이 방식의 단점은 SQL문이 프로그래밍 코드에 섞여 코드를 복잡하게 만든다는 것이다. 이 방법을 개선해 SQL문의 가독성을 높여 사용하기 편하게 만든 것이 바로 마이바티스 프레임워크이다.
바이바티스 프레임워크는 다음과 같은 특징을 가진다.
- SQL 실행 결과를 자바 빈즈 또는 Map 객체에 매핑해주는 Persistence 솔루션으로 관리한다. 즉 SQL을 소스 코드가 아닌 XML로 분리한다.
- SQL문과 프로그래밍 코드를 분리해서 구현한다.
- 데이터소스(DataSource)기능과 트랜잭션 처리 기능을 제공한다.

위의 그림은 퍼시스턴스 프레임워크로 사용된 마이바티스 구조이다. 교재에 사용된 그림과 같다.
- SqlMapConfig.xml에 각 기능별로 실행할 SQL문을 SqlMap.xml에 미리 작성한 후 등록한다.
- 애플리케이션에서 데이터베이스와 연동하는 데 필요한 데이터를 각각의 매개변수에 저장한 후 마이바티스에 전달한다.
- 애플리케이션에서 요청한 SQL문을 SqlMap.xml에서 선택한다.
- 전달한 매개변수와 선택한 SQL문을 결합한다.
- 매개변수와 결합된 SQL문을 DBMS에서 실행한다.
- DBMS에서 반환된 데이터를 애플리케이션에서 제공하는 적당한 매개변수에 저장한 후 반환한다.
정리하자면, 데이터베이스 연동 시 사용되는 SQL문을 미리 SqlMapConfig.xml에 작성해 놓고 애플리케이션에서 데이터베이스 연동 시 해당 SQL문에서 사용될 데이터를 지원하는 해당 매개변수에 저장한 후 SQL문에 전달한다. 전달된 매개변수와 SQL문을 결합해 SQL문을 DBMS로 전송하여 실행한다. 그리고 그 결과를 애플리케이션에서 제공하는 자료형으로 반환한다.
'웹 프로그래밍' 카테고리의 다른 글
스프링부트 - JPA 연관관계(1) (0) | 2021.05.26 |
---|---|
스프링부트 사용해보기 -1. 기본 개념들 (0) | 2021.05.24 |
서블릿이란? (0) | 2021.05.20 |
MVC Spring 구조 (0) | 2021.05.17 |
문법 - JSTL 사용하기 (0) | 2021.05.11 |