[SPRING]Spring MVC Project에 DB 연동하기
카테고리: SPRING
[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);
}
}
}
댓글 남기기