Back-end/Spring Boot

Spring Boot DB 연결 확인하기. 연결이 잘 되는지 확인하는 3가지 방법

luana_eun 2025. 7. 24. 10:29
728x90

 

Spring Boot DB 연결방법

👉 https://luanaeun.tistory.com/282

 

Spring Boot DB 연결하기 MyBatis, MSSQL, MySQL, Gradle

Spring Boot 프로젝트를 시작하고 DB에 연결 1. Gradle에 의존성 추가dependencies { implementation 'org.mybatis.spring.boot:mybatis-spring-boot-starter:3.0.3' implementation 'com.microsoft.sqlserver:mssql-jdbc:12.4.2.jre11' implementation 'or

luanaeun.tistory.com

 

 

 

 

이번 페이지에서는 DB연결을 설정하고 실제로 연결이 잘 되는지 확인해보려한다. 

 

 

 

 

1. main()에서 직접 연결

이 방법은 main()에서 실제 연결 정보를 다 직접 입력하여 확인하는 방법이라서

각 파일에 설정이 잘 됐는지 보다는, 해당 DB로 연결 자체가 가능한지 (활성화가 잘 되어있는지) 알아볼 수 있는 방법이다. 

import java.sql.Connection;
import java.sql.DriverManager;

public class Application {

    public static void main(String[] args) {
            SpringApplication.run(Application.class, args);

            String jdbcUrl = "jdbc:sqlserver://데이터베이스주소;databaseName=DB이름;encrypt=false";
            String username = "아이디";
            String password = "비번";

            try {
                Connection conn = DriverManager.getConnection(jdbcUrl, username, password);
                System.out.println("✔️ 연결 성공!");
                conn.close();
            } catch (Exception e) {
                System.out.println("❌ 연결 실패: " + e.getMessage());
            }
        }
 }

 

 

 

 

 

2. Test로 연결 확인

스프링부트에 보면 테스트 폴더가 있는데, 여기에 작성한다

import com.OOO.repository.UserRepository;
import jakarta.annotation.PostConstruct;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

@SpringBootTest
class ApplicationTests {

	@Autowired
	private UserRepository userRepository;

	@PostConstruct
	public void init() {
		System.out.println("userRepository = " + userRepository.getClass());
	}

	@Test
	void contextLoads() {
		System.out.println("조회 결과: " + userRepository.findById(0));
	}
}

 

🟦 System.out.println("userRepository = " + userRepository.getClass());

 이 부분은 repository가 잘 연결되는지 확인하는 부분.

 

🟦 조회 결과 : 에서 조회가 잘되면 DB에서 select를 잘 해온다는 것이다.

 

 

 

 

 

 

3. 실제 동작으로 확인

위의 2번이 잘 나온다면 이제는 정말 프론트단부터 컨트롤러-서비스-레포지토리까지 다 연결해서 확인해보면 된다. 

여기서 문제가 생긴하면 그건 이제 DB설정에 문제가 있는게 아닌, 프론트나 컨트롤러, 서비스 부분에 코드를 잘못 작성한 것이다. 

 

// Vue
this.$axios.post("/api/goLogin", 
        data, { headers: {'Content-Type': 'application/json'}}
      )
      .then((response) => {
      })
}
@RestController
@RequestMapping("/api")
public class UserController {

    @Autowired
    private UserService userService;

    @RequestMapping(value = "/goLogin", method = RequestMethod.POST)
    public Map<String, String> goLogin(HttpServletRequest httpRequest, @RequestBody Map<String, String> request)  {
        return userService.goLogin(request);
    }
}

 

(Service, Repository  생략)

<?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.OOO.repository.UserRepository">

    <select id="goLogin" parameterType="Map" resultType="Map">

    </select>

</mapper>

 

 

 

 

 

 

 

728x90