Spring boot

Mybatis를 이용하여 mariadb연동

z00h 2021. 9. 28. 20:39

 

mbybatis는 책임의 역할을 분리 시켜 준다. (쿼리가 길어졌을 경우 관리에 용이하다.)

 

 

mybaris를 이용하여 mariadb연동을 위해 우선

시작 클래스인 메인 클래스로 이동하여 bean 설정을 달았다. 고유 설정을 담은 코드들이고

데이터 소스를 담고 resource의 위치를 지정한다.

 

 

 

 

 

 

그 다음 RESOURCE에 라이브러리 생성시키고  BoardMapper.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="kr.ac.daegu.springbootapi.model.TestDAO">

    <select id="getTestList" resultType="kr.ac.daegu.springbootapi.model.TestDTO">
        SELECT * FROM Test
    </select>

    <!--<select id="selectUsers" parameterType="me.fleuve.springboot03.dto.UserDTO"
            resultType="me.fleuve.springboot03.dto.UserDTO">&lt;!&ndash; selectUsers()메서드를 호출하면 실행할 SELECT문이며, UserDTO 객체를 파라미터로 받아, UserDTO객체를 반환합니다.&ndash;&gt;
        SELECT `seq`, `name`, `country`
        FROM lab03
        <if test='country != null and country != ""'>&lt;!&ndash; 만약 파라미터에 country가 있다면 SQL문에 WHERE절을 추가합니다. &ndash;&gt;
            WHERE country = #{country}
        </if>
    </select>-->

</mapper>

select문을 이용하여 쿼리를 작성하였다.

Mappers는 쿼리를 담는 파일로 쓰여진다.

 

 

 

 

그다음 Test DAO를 생성시켰다.

 

TestDAO

처름 testDAO를 생성시키면 class로 생성되는데 class를 인터페이스로 바꿔준다.

repository로 세팅을 하고  DAO에서는 메소드만 호출하는 역할을 한다.

 

 

 

 

BoardService.java에서 생성한 DAO를 선언해준다.

mapper의 id와 boardservice의 리턴받는 값과 동일한것을 보고 값을 보낸다.  

 

BoardService.java

 

 

 

 

 

 

마지막으로 실행을 시키고 Postman에 데이터를 보내 결과를 확인해보니

 

 

정상적으로 전달이 된 것을 볼 수 있다. 이로써 mybatis를 이용하여 mariadb와 연동이 가능해 졌다.