본문 바로가기
Spring

[Spring] Docker로 띄운 MySQL JDBC로 연결하기

by SooooooooS 2024. 2. 13.
728x90

1. build.gradle 파일에서 의존성 추가하기

implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'mysql:mysql-connector-java:8.0.23'

gradle를 재실행해서 다운로드 받기
다운로드 완료 화면

2. application.properties 설정

파일 경로 : src/main/resources/application.properties

spring.datasource.url=jdbc:mysql://localhost:3306/board
spring.datasource.username=user
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
  • spring.datasource.url : MySQL 호스트 및 포트
  • board : 데이터베이스 이름
  • spring.datasource.username : MySQL 사용자 이름
  • spring.datasource.password : MySQL 비밀번호

※ 연결할 데이터베이스 : https://soo-note.tistory.com/138

3. 연결 확인하기

파일 경로 : src/test/java/board.boardspring/BoardSpringApplicationTests

Spring Boot 애플리케이션에서 JdbcTemplate을 사용하여 JDBC 연결을 테스트하는 단위 테스트 작성

package board.boardspring;

import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.jdbc.core.JdbcTemplate;

import static org.junit.jupiter.api.Assertions.assertTrue;

@SpringBootTest
class BoardSpringApplicationTests {

	@Test
	void contextLoads() {
	}

	@Autowired
	JdbcTemplate jdbcTemplate;

	@Test
	public void testJdbcConnection() {
		jdbcTemplate.execute("CREATE TABLE IF NOT EXISTS test_table (id INT, name VARCHAR(255))");
		jdbcTemplate.update("INSERT INTO test_table VALUES (1, 'Kim')");

		String result = jdbcTemplate.queryForObject("SELECT name FROM test_table WHERE id = 1", String.class);

		assertTrue("Kim".equals(result));
	}

}
  • JdbcTemplate
    • Spring JDBC에서 제공하는 간단한 JDBC 템플릿
    • @Autowired 어노테이션을 통해 스프링에 의존성 주입을 받습니다.
  • 테스트 전에 테이블을 생성하고 데이터를 삽입합니다.
  • 특정 쿼리를 실행하여 결과를 얻습니다.
  • 결과를 검증하여 테스트를 수행합니다.

테스트코드 실행 결과 - 연결 완료
테스트코드 실행 후 DB 화면

[참고]

https://velog.io/@dondonee/Spring-Docker-MySQL-JDBC-%EC%97%B0%EA%B2%B0

https://wikidocs.net/161164

728x90

'Spring' 카테고리의 다른 글

[Spring] Spring Boot JWT Tutorial - Entity 생성하기  (0) 2024.02.21
[Spring] 프로젝트 생성하기  (0) 2024.02.12