Eclipse
package JDBC;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.Scanner;
public class Ex02_Login {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
// 회원 로그인 기능
// 사용자로부터 아이디와 비밀번호 입력받기
System.out.println("=========로그인=========");
System.out.print("ID 입력 : ");
String id = sc.next();
System.out.print("비밀번호 입력 : ");
String pw = sc.next();
Connection conn = null;
PreparedStatement psmt = null;
try {
// 1. 드라이버 로딩
Class.forName("oracle.jdbc.driver.OracleDriver");
// 2. DB 연결 통로 열기(url, user, password)
String url = "jdbc:oracle:thin:@localhost:1521:xe";
String user = "service";
String password = "12345";
conn = DriverManager.getConnection(url, user, password);
// 3. sql문 준비
// 로그인 >> 테이블에 데이터가 존재하는지 확인 >> select
// 아이디, 패스워드가 일치하는 데이터의 모든 컬럼 가져오기
String sql = "SELECT * FROM BIGMEMBER WHERE ID = ? AND PW = ?";
psmt = conn.prepareStatement(sql);
// ?인자 채워주기
psmt.setString(1, id);
psmt.setString(2, pw);
// 4. sql문 전송(실행)
ResultSet rs = psmt.executeQuery();
// ResultSet이란?
// : 조회된 데이터 결과를 테이블과 같은 형태로 표현해주는 집합 자료구조
// : cursor를 가지고 있다.(처음에는 column명을 가리키고 있음)
// : cursor가 가리키고 있는 데이터만 가져올 수 있음
//rs.next(); // --> cursor를 한 행 밑으로 내리는 작업
// cursor를 내렸을 때 데이터가 있다면 true, 없다면 false
// 5. 결과를 이용한 작업처리
if(rs.next() == true) {
//로그인 성공
System.out.println("로그인 성공");
// '이름'님, 환영합니다.
String name = rs.getString("name");
System.out.println(name+"님, 환영합니다.");
} else {
System.out.println("로그인 실패");
System.out.println("아이디와 비밀번호를 다시 확인해보세요.");
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if(psmt != null) {
psmt.close();
}
if(conn != null) {
conn.close();
}
} catch (Exception e) {
}
}
}
}
SQL Developer
'언어 > JAVA' 카테고리의 다른 글
시험_회원관리 프로그램 (0) | 2023.03.22 |
---|---|
MVC 디자인 패턴 (1) | 2023.03.15 |
JDBC 기초_회원가입창 만들기 (2) | 2023.03.14 |
Interface(인터페이스) (0) | 2023.03.13 |
OOP_추상화 (0) | 2023.03.11 |
댓글