FireDrago
[Spring] Spring에서 Mybatis 사용하기 본문
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 |
