03
14
728x90

마이바티스?

기존에 JDBC를 연동하기 위해서는

connection -> Statement 객체 생성 -> SQL문 전송 -> 결과 반환 -> close

의 과정을 거쳐야했다. 해당 방식의 단점은 SQL문이 프로그램이 코드에 섞여 코드를 복잡하게 만든다는 것이다. 이 방법을 개선해 SQL문의 가독성을 높여 사용하기 편하게 만든것이 바로 마이바티스 프레임워크이다. 애플리케이션의 기능이 복잡해지면 해당 기능과 관련된 SQL문의 길이가 보통 몇 십줄이 되는데, 마이바티스를 사용하면 복잡한 SQL문이라도 SQL Developer 같은 도구에서 SQL문을 사용하는 것처럼 표준화된 방법으로 사용할 수 있을 뿐만 아니라 개발자가 작성하기 쉽고 코드 가독성도 좋아진다.

 

마이바티스 프레임워크 특징

  • SQL 실행 결과를 자바 빈즈 또는 Map 객체에 매핑해주는 Persisitence 솔루션으로 관리한다. (SQL을 소스 코드가 아닌 XML로 분리)
  • SQL문과 프로그래밍 코드를 분리해서 구현
  • 데이터소스(DataSource)기능과 트랜잭션 처리 기능을 제공

 

마이바티스 프레임워크 구조

퍼시스턴스 프레임워크로 사용된 마이바티스 구조

  1.  SqlMapConfig.xml에 각 기능별로 실행할 SQL문을 SqlMap.xml에 미리 작성한 후 등록
  2.  애플리케이션에서 데이터베이스와 연동하는 데 필요한 데이터를 각각의 매개변수에 저장한 후 마이바티스에 전달
  3.  애플리케이션에서 요청한 SQL문을 SqlMap.xml에서 선택
  4.  전달할 매개변수와 선택한 SQL문을 결합
  5.  매개변수와 결합된 SQL문을 DBMS에서 실행
  6.  DBMS에서 반환된 데이터를 애플리케이션에서 제공하는 적당한 매개변수에 저장한 후 반환

데이터베이스 연동 시 사용되는 SQL문을 미리 SqlMapConfig.xml에 작성해놓고 애플리케이션에서 데이터베이스 연동 시 해당 SQL문에서 사용될 데이터를 지원하는 해당 매개변수에 저장한 후 SQL문에 전달한다. 전달된 매개변수와 SQL문을 결합해 SQL문을 DBMSL로 전송하여 실행한다. 그리고 그 결과를 애플리케이션에서 제공하는 자료형으로 반환한다.

728x90
COMMENT