Mybatis를 Spring에 사용하기 위해서 의존성을 추가해 주어야 한다.
<!-- Mybatis -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>3.0.1</version>
</dependency>
<!-- mysql jdbc -->
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
<version>8.0.31</version>
</dependency>
프로퍼티 설정 파일에 다음 3가지 내용을 추가해 준다.
# database
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/dbname
spring.datasource.username=root
spring.datasource.password=root
# Mybatis
mybatis.mapper-locations=classpath:sqlmapper/mysql/*Mapper.xml
#logging
mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
앞서 프로퍼티에 sqlmapper/mysql/*Mapper.xml
과 같이 해당 경로에 Mapper.xml 이름으로 끝나는 파일을 지정해 주었다.
Mapper에는 불러올 데이터에 대한 sql문 혹은 실행할 sql문이 들어간다.
<?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="Home">
<!-- call Home.selectFromANSWERSByQUESTIONS_UID -->
<select id="selectFromANSWERSByQUESTIONS_UID"
parameterType="Map" resultType="Map">
select QUESTIONS_UID, EXAMPLE_UID
from ANSWERS
where QUESTIONS_UID = #{QUESTION_UID}
</select>
</mapper>
<mapper namespace="Home">
mapper의 이름을 정의<select id="selectFromANSWERSByQUESTIONS_UID"
id값을 주어 mapper의 이름과 조합하여 값을 호출 가능하다. parameterType="Map" resultType="Map"
파라미터로 넘겨받는 값과 결과로 받을 값의 타입을 정의where QUESTIONS_UID = #{QUESTION_UID}
#{name} 파라미터로 받아온 변수의 키값을 입력하여 적용할 수 있다.