development♥/[Java, Spring]

MyBatis 마이바티스 및 설정방법 [Spring Java]

리니❤ 2022. 10. 2. 09:00
반응형

 

 

MyBatis 마이바티스
쉽게말해서 자바의 객체지향 프로그래밍과 sql 사이에서 자동매핑을 지원해주는 프레임워크라고 생각하면 쉽다  

자바는 JDBC(Java Database Connectivity)를 통해 데이터베이스와 데이터를 주고 받는데
JDBC는 사용할 수 있는 API가 다양하지만 각 기능을 사용하려면 관계되어있는 객체를 생성,해제를 해야하는 번거로움이 있다.

이런 단점을 보완하기 위해 사용되는게 바로 마이바티스!

즉 전에는 dao문서에서 sql쿼리문작성하고 직접 실행 했지만

마이바티스는 mapper에 쿼리(sql)문을 작성하고 dao는 호출해서 사용하는 방식이다.

 

개발자가 쿼리작성, 매개변수 , 결과타입만 설정해주면 됨


스프링은 서비스 컨트롤러 등 담당
마이바티스는 dao 담당

MyBatis 설정방법

 

1. pom.xml에 라이브러리 작성

 

----------------------------------------------------------------------------------------------------------------------

<!-- Mybtis                                       https://mvnrepository.com/artifact/org.mybatis/mybatis -->
<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
    <version>3.5.10</version>
</dependency>

<!-- Mybatis - Spring                  https://mvnrepository.com/artifact/org.mybatis/mybatis-spring -->
<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis-spring</artifactId>
    <version>2.0.7</version>
</dependency>

 

----------------------------------------------------------------------------------------------------------------------------

 

2. mapper.xml 파일과 mybatis-config.xml 파일에 DTD 독타입 코드를 넣어줘야함

<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">

 

 

넣는 방법

(1)mapper.xml  파일에 아래처럼 들어가있어야함

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.ntsys.bbs.mapper"> </mapper>

 

com.ntsys.bbs  --> 이부분은 자신의 프로젝트에서 지정한 이름으로 변경해야함 

 

 

(2) mybatis-config.xml 파일에 아래처럼 들어가있어야함

 

<?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>

 

마찬가지로 com.ntsys.bbs  --> 이부분은 자신의 프로젝트에서 지정한 이름으로 변경해야함  

 

 

반응형