[InteliJ + Spring Boot + Gradle] Rest API Server 구축하기(4) - mapper를 활용한 DB 연동
2022. 1. 30. 00:35ㆍBackend Develop/REST API
반응형
개발환경
IDE : InteliJ
Spring Boot : 2.6.2
JDK : 17
1. MariaDB 생성
윈도우에 mariadb를 설치 한뒤 다음과 같은 테이블을 생성 해준다.
데이터는 임시로 아래와 같이 넣어준다.
2. MyBatis 라이브러리 의존성 추가
build.gradle 파일에 의존성을 추가해준다
dependencies {
~
// MyBatis 라이브러리 의존성 추가
implementation 'org.mybatis.spring.boot:mybatis-spring-boot-starter:2.2.0'
runtimeOnly 'mysql:mysql-connector-java:8.0.25'
}
3. DB 연동
application.yaml 파일에 아래와 같이 추가해준다.
server:
port: 8888
---
spring:
application:
name: rest-api
profiles:
active: dev
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/apisrv?&serverTimezone=UTC&autoReconnect=true&allowMultiQueries=true&characterEncoding=UTF-8
username: developer
password: zaq1@WSX!
mybatis:
mapper-locations: classpath:mapper/**.xml
---
spring:
application:
name: rest-api
profiles:
active: prod
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/apisrv?&serverTimezone=UTC&autoReconnect=true&allowMultiQueries=true&characterEncoding=UTF-8
username: developer
password: zaq1@WSX!
mybatis:
mapper-locations: classpath:mapper/**.xml
username은 DB 계정이름, password는 패스워드를 입력 해준다.
4. mapper 추가
mapper 폴더를 만들어 UserMapper를 아래와같이 추가한다.
package com.kwaneung.apiserv.user.mapper;
import com.kwaneung.apiserv.user.dto.UserDto;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@Mapper
public interface UserMapper {
List<UserDto> selectUserList();
}
resources 에 mapper폴더를 만들어 아래와같이 UserMapper.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.kwaneung.apiserv.user.mapper.UserMapper">
<select id="selectUserList" resultType="com.kwaneung.apiserv.user.dto.UserDto">
SELECT * FROM apisrv.tb_user
</select>
</mapper>
DB연동을 한 테이블의 전체 유저를 가져오는 쿼리를 실행하여 UserDto 타입으로 반환한다.
5. Service 수정
public final UserMapper userMapper;
public UserService(UserMapper userMapper) {
this.userMapper = userMapper;
}
public List<UserDto> getUserList() {
return userMapper.selectUserList();
}
UserMapper를 선언하고 이용해 아까 만든 쿼리를 실행해 반환하는 로직을 추가한다.
6. Controller 수정
Controller에서 서비스를 호출 해준다.
7. 확인
/user/test로 GET Method로 요청을 날리면 DB에 넣어둔 내용이 정상적으로 조회되는것을 볼 수 있다.
반응형
'Backend Develop > REST API' 카테고리의 다른 글
[InteliJ + Spring Boot + Gradle] Rest API Server 구축하기(3) - API 컨트롤러 및 서비스 생성 및 dto 활용 (0) | 2022.01.14 |
---|---|
[InteliJ + Spring Boot + Gradle] Rest API Server 구축하기(2) - API 컨트롤러 및 서비스 생성 (0) | 2022.01.14 |
[InteliJ + Spring Boot + Gradle] Rest API Server 구축하기(1) - 개발 준비 (0) | 2022.01.10 |
REST API란? (0) | 2019.09.02 |