Post

Spring Boot: mariadb 연결하기 (JDBC-Maven 기준)

Spring Boot에 JDBC를 통해 mariadb(mysql) 연결하는 방법입니다.

1. pom.xml<dependencies>에 다음을 추가합니다.
1
2
3
4
5
6
7
8
9
10
<!-- mariaDb -->
      <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-jdbc</artifactId>
      </dependency>
           
      <dependency>
          <groupId>org.mariadb.jdbc</groupId>
          <artifactId>mariadb-java-client</artifactId>
      </dependency>

혹시 디펜던시 목록에 다른  mysql, Jdbc 과 관련된 게 있다면 충돌이 발생하므로 삭제하는 것이 좋습니다.

 

2. applications.properties (또는 기타 프로퍼티 파일)에 다음을 추가합니다.
1
2
3
4
spring.datasource.driverClassName=org.mariadb.jdbc.Driver
spring.datasource.url=jdbc:mariadb://127.0.0.1:3306/test (본인 컴퓨터 주소 입력)
spring.datasource.username=아이디 입력
spring.datasource.password=비밀번호 입력

 

3. DAO 테스트 코드를 작성하고 테스트합니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
package com.springboot.iroiro.dao;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Repository;

@Repository
public class SimpleMessageDAO {
  @Autowired JdbcTemplate jt;
  
  public List<Map<String, ?>> selectAll() {
    
    return jt.query("select * from simple_message", (rs, rowNum) -> {
      Map<String, Object> mss = new HashMap<>();
      mss.put("seq", rs.getInt(1));
      mss.put("user", rs.getString(2));
      mss.put("message", rs.getString(3));
      return mss;
    });
  }
}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
package com.springboot.iroiro;

import java.util.List;
import java.util.Map;

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

import com.springboot.iroiro.dao.SimpleMessageDAO;

@RestController
public class TestController {
  @Autowired SimpleMessageDAO smd;
  
  @RequestMapping("/select")
  public List<Map<String, ?>> getMessages() {
    return smd.selectAll();
  }
}

This post is licensed under CC BY 4.0 by the author.