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.
