프로젝트생성
src > main > reources > application.properties
server.port=8111
# OracleDB connection settings
spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver
spring.datasource.url=jdbc:oracle:thin:@localhost:1521/xe
spring.datasource.username=SCOTT
spring.datasource.password=TIGER
package com.kh.mini_sample_0422.vo;
import lombok.Getter;
import lombok.Setter;
import java.sql.Date;
@Getter
@Setter
public class MemberVO {
private String id;
private String pwd;
private String name;
private String email;
private Date join;
}
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class Common {
// 오라클 설정 정보 (JDBC 연결)
final static String ORACLE_URL = "jdbc:oracle:thin:@localhost:1521:xe";
final static String ORACLE_ID = "scott";
final static String ORACLE_PW = "tiger";
final static String ORACLE_DRV = "oracle.jdbc.driver.OracleDriver";
public static Connection getConnection() {
Connection conn = null;
try {
Class.forName(ORACLE_DRV); // 드라이버 로딩
conn = DriverManager.getConnection(ORACLE_URL, ORACLE_ID, ORACLE_PW);
System.out.println("Connection 연결 성공");
} catch (Exception e) {
e.printStackTrace();
}
return conn;
}
public static void close(Connection conn) {
try {
if(conn != null && !conn.isClosed()) {
conn.close();
System.out.println("Connection 해제 성공");
}
} catch (Exception e) {
e.printStackTrace();
}
}
public static void close(Statement stmt) {
try {
if(stmt != null && !stmt.isClosed()) {
stmt.close();
System.out.println("Statement 해제 성공");
}
} catch (Exception e) {
e.printStackTrace();
}
}
public static void close(ResultSet rSet) {
try {
if(rSet != null && !rSet.isClosed()) {
rSet.close();
System.out.println("Result set 해제 성공");
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
import com.kh.mini_sample_0422.common.Common;
import com.kh.mini_sample_0422.vo.MemberVO;
import java.sql.*;
import java.util.ArrayList;
import java.util.List;
public class MemberDAO {
private Connection conn = null;
private Statement stmt = null;
private ResultSet rs = null;
private PreparedStatement pStmt = null;
// 회원 가입 여부 확인
public boolean regMemberCheck(String id) {
boolean isNotReg = false;
try {
conn = Common.getConnection();
stmt = conn.createStatement();
String sql = "SELECT * FROM T_MEMBER WHERE ID = " + "'" + id +"'";
rs = stmt.executeQuery(sql);
if(rs.next()) isNotReg = false;
else isNotReg = true;
} catch(Exception e) {
e.printStackTrace();
}
Common.close(rs);
Common.close(stmt);
Common.close(conn);
return isNotReg; // 가입 되어 있으면 false, 가입이 안되어 있으면 true
}
// 로그인 체크
public boolean loginCheck(String id, String pwd) {
try {
conn = Common.getConnection();
stmt = conn.createStatement(); // Statement 객체 얻기
String sql = "SELECT * FROM T_MEMBER WHERE ID = " + "'" + id + "'";
rs = stmt.executeQuery(sql);
while(rs.next()) { // 읽을 데이타가 있으면 true
String sqlId = rs.getString("ID"); // 쿼리문 수행 결과에서 ID값을 가져 옴
String sqlPwd = rs.getString("PWD");
System.out.println("ID : " + sqlId);
System.out.println("PWD : " + sqlPwd);
if(id.equals(sqlId) && pwd.equals(sqlPwd)) {
Common.close(rs);
Common.close(stmt);
Common.close(conn);
return true;
}
}
Common.close(rs);
Common.close(stmt);
Common.close(conn);
} catch(Exception e) {
e.printStackTrace();
}
return false;
}
// 회원정보 조회
public List<MemberVO> memberSelect(String getId) {
List<MemberVO> list = new ArrayList<>();
try {
conn = Common.getConnection();
stmt = conn.createStatement();
String sql = "SELECT * FROM T_MEMBER";
rs = stmt.executeQuery(sql);
while(rs.next()) {
String id = rs.getString("ID");
String pwd = rs.getString("PWD");
String name = rs.getString("NAME");
String email = rs.getString("EMAIL");
Date join = rs.getDate("JOIN");
MemberVO vo = new MemberVO();
vo.setId(id);
vo.setPwd(pwd);
vo.setName(name);
vo.setEmail(email);
vo.setJoin(join);
list.add(vo);
}
Common.close(rs);
Common.close(stmt);
Common.close(conn);
} catch (Exception e) {
e.printStackTrace();
}
return list;
}
// 회원 가입
public boolean memberRegister(String id, String pwd, String name, String mail) {
int result = 0;
String sql = "INSERT INTO T_MEMBER(ID, PWD, NAME, EMAIL, JOIN) VALUES(?, ?, ?, ?, SYSDATE)";
try {
conn = Common.getConnection();
pStmt = conn.prepareStatement(sql);
pStmt.setString(1, id);
pStmt.setString(2, pwd);
pStmt.setString(3, name);
pStmt.setString(4, mail);
result = pStmt.executeUpdate();
System.out.println("회원 가입 DB 결과 확인 : " + result);
} catch (Exception e) {
e.printStackTrace();
}
Common.close(pStmt);
Common.close(conn);
if(result == 1) return true;
else return false;
}
public boolean memberDelete(String id) {
int result = 0;
String sql = "DELETE FROM T_MEMBER WHERE ID = ?";
try {
conn = Common.getConnection();
pStmt = conn.prepareStatement(sql);
pStmt.setString(1, id);
result = pStmt.executeUpdate();
} catch (Exception e) {
e.printStackTrace();
}
Common.close(pStmt);
Common.close(conn);
if(result == 1) return true;
else return false;
}
}