[Board] DB 연동 : 로그인, 로그아웃 기능 [계정 로그인, 로그아웃 기능 구현 및 계정 기능 설계]

2022. 3. 7. 21:57·◈ Human Project/Custom : Board📖
728x90


 

[Board] DB 연동 : 계정 테이블 생성, CRUD 기능 구현[계정 테이블 및 로우데이터 생성, 계정 관련 CRUD

[Board] DB 연동 : 게시글 수정 및 삭제 기능[BoardDao : modify(), remove()] 1. BoardDao.modify() : 게시글 수정 기능 - BoardDao : modify() public void modify(Board board) { try { //클래스 로드 Class.f..

yermi.tistory.com


1. 로그인, 로그아웃 기능 구현

1) MemberDao.login() : 로그인 기능

- MemberDao : login()

public Member login(String id, String pw) {
    Member member = null;
    try {
        //클래스 로드
        Class.forName("oracle.jdbc.driver.OracleDriver");

        // connection 취득
        Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521/xe",
                "odoung", "1234");

        // 문장 생성
        String sql = "SELECT * FROM TBL_MEMBER\r\n" + 
                "WHERE ID = ? AND PW = ?";
        PreparedStatement pstmt = conn.prepareStatement(sql);

        int idx = 1;
        pstmt.setString(idx++, id);
        pstmt.setString(idx++, pw);

        // 결과집합 생성
        ResultSet rs = pstmt.executeQuery();

        // 결과집합 순회 후 데이터 바인딩
        while(rs.next()) {
            int idx2 = 1;
            member = new Member(rs.getString(idx2++), rs.getString(idx2++), rs.getString(idx2++));
        }

    } catch (Exception e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    return member;
}

- MemberService : login()

Member member; // null(비로그인), 주소가 있는 상태(로그인)

public void login() {
    System.out.println("로그인");

    Scanner scanner = new Scanner(System.in);

    System.out.println("아이디 > ");
    String id = scanner.nextLine();
    System.out.println("비밀번호 > ");
    String pw = scanner.nextLine();

    member = new MemberDao().login(id, pw);
}

 

로그인 기능 구현


2) logout() : 로그아웃 기능

- MemberService : logout()

public void logout() {
    System.out.println("로그아웃");
    member = null;
}

 

로그아웃 기능 구현


2. 계정 기능 설계(로그인 적용)

public static void main(String[] args) {
    MemberService memberService = new MemberService();

    Scanner scanner = new Scanner(System.in);

    while (true) {
        if(memberService.member == null) {
            System.out.println("1.회원가입 2.로그인");
            int input = Integer.parseInt(scanner.nextLine());
            switch (input) {
            case 1:
                memberService.register();
                break;

            case 2:
                memberService.login();
                break;
            }
        }
        else {
            System.out.println("1.정보수정 2.탈퇴 3.로그아웃");
            int input = Integer.parseInt(scanner.nextLine());            
            switch (input) {
            case 1:
                memberService.modify();
                break;

            case 2:
                memberService.remove();
                break;

            case 3:
                memberService.logout();
                break;			
            }
        }
    }
}

 

계정 기능 설계(로그인 적용)

 

[Board] DB 연동 : 댓글 테이블 생성, CRUD 기능 구현[댓글 테이블 및 로우데이터 생성, 댓글 관련 CRUD

[Board] DB 연동 : 로그인, 로그아웃 기능[계정 로그인, 로그아웃 기능 구현 및 계정 기능 설계] [Board] DB 연동 : 계정 테이블 생성, CRUD 기능 구현[계정 테이블 및 로우데이터 생성, 계정 관련 CRUD [Board

yermi.tistory.com

728x90
'◈ Human Project/Custom : Board📖' 카테고리의 다른 글
  • [Board] DB 연동 : 게시글 세부조회 기능 [BoardDao.get() : 게시글 세부조회 기능 구현]
  • [Board] DB 연동 : 댓글 테이블 생성, CRUD 기능 구현 [댓글 테이블 및 로우데이터 생성, 댓글 관련 CRUD 기능 구현]
  • [Board] DB 연동 : 계정 테이블 생성, CRUD 기능 구현 [계정 테이블 및 로우데이터 생성, 계정 관련 CRUD 기능 구현]
  • [Board] DB 연동 : 게시글 수정 및 삭제 기능 [BoardDao : modify(), remove()]
예르미(yermi)
예르미(yermi)
끊임없이 제 자신을 계발하는 개발자입니다👨🏻‍💻
  • 예르미(yermi)
    예르미의 코딩노트
    예르미(yermi)
  • 전체
    오늘
    어제
    • 분류 전체보기 (940) N
      • ◎ Java (133)
        • Java☕ (93)
        • JSP📋 (26)
        • Applet🧳 (6)
        • Interview👨🏻‍🏫 (8)
      • ◎ JavaScript (48)
        • JavaScript🦎 (25)
        • jQuery🌊 (8)
        • React🌐 (2)
        • Vue.js🔰 (6)
        • Node.js🫒 (3)
        • Google App Script🐑 (4)
      • ◎ HTML5+CSS3 (17)
        • HTML5📝 (8)
        • CSS3🎨 (9)
      • ──────────── (0)
      • ▣ Framework (67)
        • Spring🍃 (36)
        • Spring Boot🍀 (12)
        • Bootstrap💜 (3)
        • Selenium🌕 (6)
        • MyBatis🐣 (10)
      • ▣ Tools (47)
        • API🎯 (18)
        • Library🎲 (15)
        • JitPack🚀 (3)
        • Jenkins👨🏻 (7)
        • Thymeleaf🌿 (4)
      • ▣ Server (30)
        • Apache Tomcat🐱 (14)
        • Apache HTTP Server🛡️ (1)
        • Nginx🧶 (7)
        • OracleXE💿 (4)
        • VisualSVN📡 (4)
      • ▣ OS : 운영체제 (18)
        • cmd : 명령프롬프트💻 (10)
        • Linux🐧 (8)
      • ▣ SQL : Database (56)
        • Oracle SQL🏮 (26)
        • PL SQL💾 (9)
        • MySQL🐬 (6)
        • MariaDB🦦 (6)
        • H2 Database🔠 (3)
        • SQL 실전문제🐌 (6)
      • ────────── (0)
      • ◈ Human Project (86)
        • Mini : Library Service📚 (15)
        • 화면 설계 [HTML]🐯 (10)
        • 서버 프로그램 구현🦁 (15)
        • Team : 여수어때🛫 (19)
        • Custom : Student🏫 (9)
        • Custom : Board📖 (18)
      • ◈ Yermi Project (40)
        • 조사모아(Josa-moa)📬 (5)
        • Riddle-Game🧩 (6)
        • 맛있을 지도🍚 (2)
        • 어디 가! 박대리!🙋🏻‍♂️ (5)
        • 조크베어🐻‍❄️ (4)
        • Looks Like Thirty🦉 (2)
        • Toy Project💎 (12)
        • 오픈소스 파헤치기🪐 (4)
      • ◈ Refactoring (15)
        • Mini : Library Service📚 (8)
        • 서버 프로그램 구현🦁 (1)
        • Team : 여수어때🛫 (0)
        • 쿼리 튜닝일지🔧 (6)
      • ◈ Coding Test (92) N
        • 백준(BOJ)👨🏻‍💻 (71)
        • 프로그래머스😎 (2)
        • 코드트리🌳 (7)
        • 알고리즘(Algorithm)🎡 (12) N
      • ◈ Study (102)
        • 기초튼튼 개발지식🥔 (25)
        • HTTP 웹 지식💡 (4)
        • 클린코드(Clean Code)🩺 (1)
        • 디자인패턴(GoF)🥞 (12)
        • 다이어그램(Diagram)📈 (4)
        • 파이썬(Python)🐍 (16)
        • 에러노트(Error Note)🧱 (34)
        • 웹 보안(Web Security)🔐 (6)
      • ◈ 공부모임 (39)
        • 혼공학습단⏰ (18)
        • 코드트리 챌린지👊🏻 (2)
        • 개발도서 100독👟 (8)
        • 나는 리뷰어다🌾 (11)
      • ◈ 자격증 공부 (37)
        • 정보처리기사🔱 (16)
        • 정보처리산업기사🔅 (9)
        • 컴퓨터활용능력 1급📼 (12)
      • ─────────── (0)
      • ◐ 기타 (113)
        • 알아두면 좋은 팁(tip)✨ (46)
        • 개발자의 일상🎈 (44)
        • 개발도서 서평🔍 (10)
        • 개발관련 세미나🎤 (2)
        • 블로그 꾸미기🎀 (9)
        • 사도신경 프로젝트🎚️ (2)
  • 인기 글

  • 최근 댓글

  • 태그

    Database
    Error Note
    BOJ
    html
    자바스크립트
    코딩
    꿀팁
    코딩 테스트
    jsp
    Project
    Java
    백준 티어
    백준
    SQL
    Oracle
    일상
    javascript
    CSS
    spring
    프로그래밍
  • 250x250
  • hELLO· Designed By정상우.v4.10.3
예르미(yermi)
[Board] DB 연동 : 로그인, 로그아웃 기능 [계정 로그인, 로그아웃 기능 구현 및 계정 기능 설계]
상단으로

티스토리툴바