# MyBatis의 개요
- Mybatis는 자바 오브젝트와 SQL 문 사이의 자동 Mapping 기능을 지원하는 Object Mapper이다.
- MyBatis는 SQL을 별도의 파일로 분리해서 관리하게 해주며, 객체-SQL 사이의 파라미터 mapping 작업을 자동으로 해주기 때문에 많은 인기를 얻고 있는 기술이다.
- Mybatis는 Hibernate나 JPA(Java Persistence API) 처럼 새로운 DB 프로그래밍 패러다임을 익혀야하는 부담이 없이 개발자가 익숙한 SQL을 그대로 이용하면서 JDBC 코드 작성의 불편함도 제거해주고, 도메인 객체나 VO 객체를 중심으로 개발이 가능하다는 장점이 있다.
# Mybatis의 특징
1) 쉬운 접근성과 코드의 간결함
- 가장 간단한 퍼시스턴스 프레임워크
- XML 형태로 서술된 JDBC 코드처럼 JDBC의 모든 기능 제공
- 복잡한 JDBC 코드를 걷어내어 깔끔한 소스코드 유지 가능
- 수동적인 파라미터 설정과 쿼리 결과에 대한 맵핑 구문 제거 가능
2) SQL문과 프로그래밍 코드의 분리
- SQL에 변경이 있을 때마다 자바 코드를 수정하거나 컴파일하지 않아도 됨
- SQL 작성과 관리 또는 검토를 DBA와 같은 개발자가 아닌 다른 사람에게 맡길 수 있음(협업)
3) 다양한 프로그래밍 언어로 구현가능
- Java, C#, .NET, Ruby 등
# 실습 Mybatis 설정
pom.xml에 의존성 추가
mybatis-config.xml 파일 생성 - hello-web/src/main/resources
https://mybatis.org/mybatis-3/ko/getting-started.html
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
</configuration>
datasource.xml 파일 수정
...
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="configLocation" value="classpath:mybatis-config.xml"/>
<property name="mapperLocations">
<list>
<value></value>
</list>
</property>
</bean>
<bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate">
<constructor-arg ref="sqlSessionFactory"/>
</bean>
article-mapper.xml 파일 생성 - hello-web/src/main/resources/mappers
'Archived(Programming) > Spring #2(기초)' 카테고리의 다른 글
Dynamic SQL (0) | 2020.03.17 |
---|---|
Mapper XML 파일 (1) | 2020.03.16 |
Context 분리와 전략 (0) | 2020.03.13 |
Spring Data Access 기술과 DataSource (0) | 2020.03.13 |
JUnit4 & Spring Test (0) | 2020.03.13 |