FireDrago

[Spring] Spring에서 Mybatis 사용하기 본문

프로그래밍/Spring

[Spring] Spring에서 Mybatis 사용하기

화이용 2023. 9. 4. 21:08

MyBatis 

마이바티스는 JDBC 같이 데이터베이스와의 연결, 쿼리문의 파라미터 전달, 결과의 맵핑을 대신해준다.

MyBatis를 사용하면, SQL 문과 코드가 분리된다. 자바코드가 간결해지고, Sql 수정시 코드의 변경이 필요없어진다.

한마디로 깔끔해진다. 

1. MyBatis 를 사용하면 자바 코드가 더 깔끔해진다.

Spring에서 MyBatis 사용하기

 

먼저 MyBatis를 사용하기전에 JDBC에서 어떻게 데이터베이스와 연결했는지 생각해보자

1. JDBC 드라이버 로드

2. Connection 객체 생성 : 데이터베이스와의 연결 담당 (url, id ,password)

3. SQL 작성 및 Execute : 쿼리 전달 

4. 결과값 반환 ResultSet 

 

본격적으로 Spring에서 MyBatis가 어떻게 사용되는지 살펴보자

 

1. Web.xml 설정

web.xml에서 ContextLoaderListner를 통해 root-context.xml 읽어오도록 설정한다. 

이를통해 스프링 프로젝트에서 사용될 bean 들을 읽어온다.

 

2. root-context.xml 설정

MyBatis 를 사용하기위해 필요한 bean 들을 생성한다. 

1. PlaceholderConfigurer : JDBC.properties 를 읽어온다.

2. PooledDataSource : 읽어온 properties를 바탕으로 DataSource를 생성

3. SqlSessionFactoryBean : DataSource 

                                            + myBatis의 여러 설정을 담고있는 mybatis-config.xml

                                            + Sql문을 모아놓은 mapper.xml  

4. SqlSession : SqlSessionFactory를 통해 생성된 객체 -> 요청이 있을때마다 주입되어 데이터베이스와 상호작용

 

 

DAOimpl 에서 sqlSession을 주입하고 결과값을 받아오는 코드

mapper.xml 에 쿼리를 저장하고 호출 , 결과값의 맵핑도 할 수 있다.

'프로그래밍 > Spring' 카테고리의 다른 글

[Spring] 스프링 기본 원리  (0) 2024.01.04
[Spring] AOP  (0) 2024.01.02
[Spring] 스프링 의존관계 설정  (0) 2023.12.30
[Spring] 회원관리 예제  (0) 2023.12.29
[Spring] 웹 개발의 기초  (0) 2023.12.28