[SPRING]Spring MVC Project에 DB 연동하기

Date:     Updated:

카테고리:

태그:

[17-2]Spring MVC Project에 DB 연동하기

설정 항목 추가


[기준 IDE 정보 : Spring Tool Suite 3(3.9.18.RELEASE)] [기준 SQL 정보 : Postgresql]

17.2.1. pom.xml 설정 추가

  • 기본 경로 : [Projectname]/pom.xml
  • 연동에 필요한 드라이버 추가

https://mvnrepository.com/ 에서 검색 및 추가

17.2.1.1. 드라이버 예시

postgresql

<!-- https://mvnrepository.com/artifact/org.postgresql/postgresql -->
    <dependency>
        <groupId>org.postgresql</groupId>
        <artifactId>postgresql</artifactId>
        <version>42.5.0</version>
    </dependency>

jdbc

<!-- https://mvnrepository.com/artifact/org.springframework/spring-jdbc -->
    <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-jdbc</artifactId>
    <version>${org.springframework-version}</version>
    </dependency>

test

<!-- https://mvnrepository.com/artifact/org.springframework/spring-test -->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-test</artifactId>
        <version>${org.springframework-version}</version>
        <scope>test</scope>
    </dependency>

17.2.2. DBMS에서 기본 sql문 작성

  • 예) 회원정보 테이블 및 컬럼 설정
    • 아이디, 비밀번호, 이름, 이메일, 생일, SNS, 가입일 등 항목 생성

SQL문 예시(DBMS)

-- 사용자 테이블  생성
drop table if exists t_user;
create table t_user
(
	id	varchar(30) not null primary key
,	pwd varchar(50) 
,	name varchar(30)
,	email varchar(30)
,	birth date
,	sns	varchar(30)
,	reg_date date
);

select * from t_user;

INSERT INTO public.t_user
(id, pwd, "name", email, birth, sns, reg_date)
VALUES('johne', '0111', 'john', 'john@gmail.com', '2000-11-01', 'youtube', now());

INSERT INTO public.t_user
(id, pwd, "name", email, birth, sns, reg_date)
VALUES('sujii', '0111', 'suji', 'sujii@gmail.com', '2001-11-01', 'facebook', now());

delete from t_user;

select now(); 

17.2.3. DB연결을 위한 java 클래스 작성 (1) - 테스트

  • 기본 경로 : [Projectname]\src\main\java\[Packagename]\[DBConnectionTest.java]
  • 테스트 시 경로 : [Projectname]\src\test\java\[Packagename]\[DBConnectionTest.java]

java 클래스 작성 예시 [다른 예시는 STS의 SpringDBWeb 프로젝트 + SPRING NOTES 참고]

package kr.co.magic;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class DBConnectionTest
{

    public static void main(String[] args) throws SQLException 
    {
        // 데이터베이스 접속 정보 변수 선언
        String DB_URL = "jdbc:postgresql://localhost:5432/testdb";
        // postgresql, testdb
        // DB의 사용자정보
        String DB_USER = "postgres";
        String DB_PASSWORD = "0101";
        
        // 1) 데이터베이스의 연결을 얻음 (Connection 객체 생성)
        Connection conn = DriverManager.getConnection(DB_URL, DB_USER, DB_PASSWORD);
        
        // 2) Statement 객체 생성 
        Statement stmt = conn.createStatement();
        
        // 시스템의 현재 날짜 시간 출력하는 쿼리
        String query = "select now()";
        
        // 3) Statement 객체의 executeQuery() 실행해서 ResultSet 객체를 생성.
        // query 실행 결과를 rs에 담음
        ResultSet rs = stmt.executeQuery(query);
        
        // 실행 결과가 담긴 rs 에서 한줄씩 읽어서 출력
        while (rs.next()) {
            String curDate = rs.getString(1);		// 읽어온 행의 첫번째 컬럼의 값을 String으로 읽어서 curDate 에 저장
            System.out.println(curDate);
            }
    }
}

SPRING 카테고리 내 다른 글 보러가기

댓글 남기기