본문 바로가기
프로그래밍/Spring boot

Spring boot + Mybatis

by oedpus 2019. 9. 4.

1. File -> New -> Spring Starter Project 선택.

 

2. Type : Gradle, Packaging:Jar Java: 8 변경.

 

3. MyBatis Framework, Lombok, Spring Web 선택 후 Finish.

 

최종 프로젝트 구조

4. build.gradle 수정

  - mariaDB 추가

    compile 'org.mariadb.jdbc:mariadb-java-client' 

  ※ gradle 수정 저장 후 프로젝트 우클릭 -> Gradle -> Refresh Gradle Project 진행

 

5. application.yml 수정 

  - 데이터소스 추가

spring: 
    datasource: 
        url: jdbc:mariadb://(IP Address):3306/DB명
        username: 아이디
        password: 패스워드
        driver-class-name: org.mariadb.jdbc.Driver

  - mybatis 매퍼 / Aliase 패키지 설정

mybatis:
  mapper-locations: classpath*:/mybatis/mapper/*.xml
  type-aliases-package: com.oedpus.domain

6. 매퍼XML 패키지 생성

  - resources/mybatis/mapper 폴더 생성

  - CityMapper.xml 생성 (city 테이블의 전체 데이터 select)

<?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.oedpus.dao.CityMapper">
    <select id="selectCityByAll" resultType="City">
        select id, name, state, country from city
    </select>
</mapper>

 

7. domain 패키지 생성 및 City.java 도메인 생성

package com.oedpus.domain;

import lombok.Builder;
import lombok.Getter;
import lombok.ToString;

@Getter
@ToString
public class City {
	private Long id;
	private String name;
	private String state;
	private String country;
	  
	@Builder
	public City(Long id, String name, String state, String country) {
		this.id = id;
		this.name = name;
		this.state = state;
		this.country = country;
	}
}

8. 데이터를 접근할 dao 패키지와 CityDao.java 생성

package com.oedpus.dao;

import java.util.List;

import org.apache.ibatis.session.SqlSession;
import org.springframework.stereotype.Component;

import com.oedpus.domain.City;

@Component
public class CityDao {

  private final SqlSession sqlSession;

  public CityDao(SqlSession sqlSession) {
    this.sqlSession = sqlSession;
  }

  public List<City> selectCityByAll() {
    return this.sqlSession.selectList("selectCityByAll");
  }
}

 

9. controller 패키지 및 SampleRestController.java 생성

package com.oedpus.controller;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;

import com.oedpus.dao.CityDao;
import com.oedpus.domain.City;

@RestController
public class SampleRestController {

	@Autowired
	private CityDao cityDao;

	@GetMapping("/citySelect")
	public @ResponseBody List<City> selectTest() {
		List<City> cities = this.cityDao.selectCityByAll();
		
		return cities;
	}
}

10. 프로젝트 실행 및 URL 접근

 

'프로그래밍 > Spring boot' 카테고리의 다른 글

Mybatis Enum 사용  (0) 2019.11.15
Spring boot + JSP  (0) 2019.09.20
Spring boot 에러 페이지 설정  (0) 2019.09.06

댓글