바닥코딩

Spring mybatis 본문

Spring Framework/스프링 기초

Spring mybatis

개발공부개발공부 2020. 2. 6. 01:17

Mybatis 란?

 mybatis는 흔히 개발자 사이에서 SQL mapping 프레임워크로 불립니다 개발자들은 JDBC 코드의 복잡성 때문에 코드를 개발하는 데 불픽요한 시간을 투자하는 경우가 많습니다 이를 개선하기 위해 mybatis가 등장했고  mybatis는 데이터 베이스를 관리하는 부분에서 많은 이점을 제공합니다 

Mybatis의 장점 
자동으로 Connection close() 기능을 제공 
Mybatis 내부적으로 PreparedStatement 처리 
#{prop}와 같이 속성을 지정하면 내부적으로 자동으로 처리해주는 기능
리턴 타입을 지정하는 경우 자동으로 객체 생성 및 RestSet 처리 

 

 

Mybatis 사용법 

해당 프로젝트는 maven을 사용하고 있기 때문에 mybatis를 따로 설치할 필요는 없고 의존성망 pom.xml에 추가해 주면  추가할 라이브러리가 자동 설치 됩니다.

https://mybatis.org/mybatis-3/ko/getting-started.html

 

MyBatis – 마이바티스 3 | 시작하기

XML에서 SqlSessionFactory 빌드하기 모든 마이바티스 애플리케이션은 SqlSessionFactory 인스턴스를 사용한다. SqlSessionFactory인스턴스는 SqlSessionFactoryBuilder를 사용하여 만들수 있다. SqlSessionFactoryBuilder는 XML설정파일에서 SqlSessionFactory인스턴스를 빌드할 수 있다. XML파일에서 SqlSessionFactory인스턴스를 빌드하는 것은 매우 간단한다. 설

mybatis.org

해당 사이트에서 <dependency> 로 시작하는 부분을 pom.xml에 추가해 줍니다. 

위와 같이 x.x.x에 설치 하고 싶은 mybatis의 버전을 입력한다(포스팅 작성일 기준 최신버전 3.5.3)

버전을 입력하면 maven을 통해 자동으로 mybatis 가 설치 된것을 확인 할 수 있습니다.

Mybatis sqlsessionfactory

mybatis에서 가장 핵심적인 객체는 SQLSession 과 SQlsessionFactory입니다 SQLSessionFactory는 이름에서 보듯이 내부적으로 SQLSerssion이라는 것을 만들어 내는 공장이라고 생각하면 됩니다 . 개발에서는 SQLSession을 통해서 Connection을 생성하거나 원하는 쿼리문을 전달하여 결과를 리턴 받습니다 

 그전에 잠깐 알아둬야할 선수 지식으로 src/main/webapp/WEB-INF/spring/root-context.xml 파일의 역할 입니다 이 파일은 STS가 스프링 프로젝트를 생성할 때 만들어주는 가장 중요한 파일입니다 이 파일은 스프링과 관련된 설정을 할 때 관련이 없는 baen을  설정해즈는 비즈니스 로직을 제공해 줍니다 쉡게 말해 웹 자원과 관련되지 않는 모든 자원의 설정을 위한 파일입니다 

 데이터베이스에 JDBC 커넥션을 처리하는 기능을 만들라면 웹 자원과 관련되지 않은 자원의 설정이 필요합니다 따라서 src/main/webapp/WEB-INF/spring/root-context.xml 파일에 connection 객체를 추가 해 줍니다