Eggs Sunny Side Up
본문 바로가기
언어/JAVA

JDBC_로그인

by guswn100059 2023. 3. 15.

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

댓글