# MyBatis Framework란?
1. 객체 지향 언어인 자바의 관계형 데이터 베이스 프로그래밍을 보다 쉽게 도와주는 프레임 워크
2. 자바에서는 관계형 데이터베이스 프로그래밍을 하기위해 JDBC를 제공
※ JDBC(Java Database Connectivity) : 자바 프로그램이 데이터베이스와 연결되어 데이터를 주고 받을 수 있게 해주는 프로그래밍 인터페이스
(DriverClass, Connection, PreparedStatement, ResultSet etc)
3. JDBC는 다양한 관계형 데이터베이스 프로그래밍을 위해 API 제공
--> 결론 : MyBatis는 JDBC를 보다 편하게 사용하기 위해 개발
# MyBatis의 특징
1. SQL문이 코드로부터 완전히 분리
- 기존에는 DAO파일에 모든 SQL문을 작성하였다.
하지만 MyBatis에서는 Mapper 파일에 SQL코드를 입력해 놓고 DAO 파일에서 필요할 때마다 가져와서 사용할 수 있다.
2. 생산성
- 코드가 짧아진다.
3. 유지보수성 향상
- Mapper 파일에만 SQL 코드를 입력하고 나중에 SQL 코드를 변경할 때 이곳에서 유지보수만 하면,
DAO에서는 아무런 영향을 받지 않는다.
왜냐하면 DAO에서는 Mapper파일에서 작성된 SQL 코드를 갖다 쓰기만 하기 때문이다.
# Ibatis에서 MyBatis로 변경된 이유
-> Apache project팀에서 google code팀으로 이동하면서 명칭이 변경됨.
# 스프링부트에서 MyBatis 사용하기
https://doohwan-yoo.github.io/springboot-mybatis/
http://www.mybatis.org/spring-boot-starter/mybatis-spring-boot-autoconfigure/
https://github.com/mybatis/spring-boot-starter/tree/master/mybatis-spring-boot-samples/mybatis-spring-boot-sample-annotation
https://github.com/mybatis/spring-boot-starter/tree/master/mybatis-spring-boot-samples/mybatis-spring-boot-sample-xml
# 참고 사이트
https://khj93.tistory.com/entry/MyBatis-MyBatis%EB%9E%80-%EA%B0%9C%EB%85%90-%EB%B0%8F-%ED%95%B5%EC%8B%AC-%EC%A0%95%EB%A6%AC
https://iotsw.tistory.com/79?category=717332