λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°

πŸ’»WEB BackEnd/JSP

νšŒμ› 데이터 λͺ¨λΈλ§

데이터 λͺ¨λΈλ§

섀계가 된 λ°μ΄ν„°λ² μ΄μŠ€ ν…Œμ΄λΈ”μ„ ν† λŒ€λ‘œ JAVA μ†ŒμŠ€μ½”λ“œλ‘œ μž‘μ„±ν•΄μ£Όλ©΄λœλ‹€. 

 

UserDTO 클래슀 μ„€μ •

1) 파일 생성

  • Java Resources 폴더 > src > user νŒ¨ν‚€μ§€λ₯Ό μƒμ„±ν•˜κ³ , 
  • user νŒ¨ν‚€μ§€ > UserDTO.java 클래슀, UserDAO 클래슀λ₯Ό 생성해쀀닀.

  • μƒμ„±ν•œ UserDTO.java 파일 μ•ˆμ— λ‹€μŒ μ½”λ“œλ₯Ό μž‘μ„±ν•΄μ€€λ‹€.
package user;

public class UserDTO {
	private String userID;
	private String userPassword;
	private String userEmail;
	private String userEmailHash;
	private Boolean userEmailChecked;
	
}

 

2) λ³€μˆ˜μ˜ getter, setter 생성

였λ₯Έμͺ½ 마우슀 클릭 > Source > "Generate getters and setters"λ₯Ό 클릭해

λͺ¨λ“  λ³€μˆ˜μ˜ getter와 setterλ₯Ό 생성해쀀닀.

 

3) λ³€μˆ˜μ˜ μƒμ„±μž 생성

  • 였λ₯Έμͺ½ 마우슀 클릭 > Source > "Generate constructor using fields"λ₯Ό 클릭해 λͺ¨λ“  λ³€μˆ˜μ˜ μƒμ„±μžλ₯Ό 생성해쀀닀.

  • 아무것도 λ‹΄μ§€μ•ŠλŠ” μƒμ„±μž λ˜ν•œ μΆ”κ°€ν•΄μ€€λ‹€. => μ΄ˆκΈ°ν™”ν•΄μ£ΌλŠ” ν•¨μˆ˜
public UserDTO() {}

 

UserDAO 클래슀 μ„€μ •

1) login ν•¨μˆ˜ μ„€μ •

package user;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

import util.DatabaseUtil;

public class UserDAO {
	public int login(String userID, String userPassword) {
		String SQL = "SELECT userPassword FROM USER WHERE userID=?";
		Connection conn = null;
		PreparedStatement pstmt = null;
		ResultSet rs = null;
		try {
			conn = DatabaseUtil.getConnection();
			pstmt = conn.prepareStatement(SQL);
			pstmt.setString(1, userID);
			rs = pstmt.executeQuery();
			if(rs.next()) {
				if(rs.getString(1).equals(userPassword)) {
					return 1; // 둜그인 성곡
				} 
				else {
					return 0; // λΉ„λ°€λ²ˆν˜Έ ν‹€λ¦Ό
				}
			}
			return -1; // 아이디 μ—†μŒ
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			try {if (conn != null) conn.close();} catch (Exception e2) {e2.printStackTrace();}
			try {if (pstmt != null) pstmt.close();} catch (Exception e2) {e2.printStackTrace();}
			try {if (rs != null) rs.close();} catch (Exception e2) {e2.printStackTrace();}
		}
		return -1; // λ°μ΄ν„°λ² μ΄μŠ€ 였λ₯˜
	}
}

 

2) join ν•¨μˆ˜ μ„€μ •

public int join(UserDTO user) {
    String SQL = "INSERT INTO USER VALUES (?, ?, ?, ?, false);";
    Connection conn = null;
    PreparedStatement pstmt = null;
    ResultSet rs = null;
    try {
        conn = DatabaseUtil.getConnection();
        pstmt = conn.prepareStatement(SQL);
        pstmt.setString(1, user.getUserID());
        pstmt.setString(1, user.getUserPassword());
        pstmt.setString(1, user.getUserEmail());
        pstmt.setString(1, user.getUserEmailHash());
        return pstmt.executeUpdate();
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        try {if (conn != null) conn.close();} catch (Exception e2) {e2.printStackTrace();}
        try {if (pstmt != null) pstmt.close();} catch (Exception e2) {e2.printStackTrace();}
        try {if (rs != null) rs.close();} catch (Exception e2) {e2.printStackTrace();}
    }
    return -1; // νšŒμ›κ°€μž… μ‹€νŒ¨
}

 

3) getUserEmailChecked ν•¨μˆ˜ μ„€μ •

public boolean getUserEmailChecked(String userID) {
    String SQL = "SELECT userEmailChecked FROM USER WHERE userID = ?";
    Connection conn = null;
    PreparedStatement pstmt = null;
    ResultSet rs = null;
    try {
        conn = DatabaseUtil.getConnection();
        pstmt = conn.prepareStatement(SQL);
        pstmt.setString(1, userID);
        rs = pstmt.executeQuery();
        if (rs.next()) {
            return rs.getBoolean(1);
        }
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        try {if (conn != null) conn.close();} catch (Exception e2) {e2.printStackTrace();}
        try {if (pstmt != null) pstmt.close();} catch (Exception e2) {e2.printStackTrace();}
        try {if (rs != null) rs.close();} catch (Exception e2) {e2.printStackTrace();}
    }
    return false; // λ°μ΄ν„°λ² μ΄μŠ€ 였λ₯˜
}

 

4) getUserEmail ν•¨μˆ˜ μ„€μ •

public String getUserEmail(String userID) {
    String SQL = "SELECT userEmail FROM USER WHERE userID = ?";
    Connection conn = null;
    PreparedStatement pstmt = null;
    ResultSet rs = null;
    try {
        conn = DatabaseUtil.getConnection();
        pstmt = conn.prepareStatement(SQL);
        pstmt.setString(1, userID);
        rs = pstmt.executeQuery();
        if (rs.next()) {
            return rs.getString(1);
        }
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        try {if (conn != null) conn.close();} catch (Exception e2) {e2.printStackTrace();}
        try {if (pstmt != null) pstmt.close();} catch (Exception e2) {e2.printStackTrace();}
        try {if (rs != null) rs.close();} catch (Exception e2) {e2.printStackTrace();}
    }
    return null; // λ°μ΄ν„°λ² μ΄μŠ€ 였λ₯˜
}

 

5) setUserEmailChecked ν•¨μˆ˜ μ„€μ •

setUserEmailChecked ν•¨μˆ˜ : 이메일 검증을 ν†΅ν•΄μ„œ 인증이 μ™„λ£Œκ°€ λ˜λ„λ‘ ν•΄μ£ΌλŠ” ν•¨μˆ˜

public boolean setUserEmailChecked(String userID) {
    String SQL = "UPDATE USER SET userEmailChecked = true WHERE userID = ?";
    Connection conn = null;
    PreparedStatement pstmt = null;
    ResultSet rs = null;
    try {
        conn = DatabaseUtil.getConnection();
        pstmt = conn.prepareStatement(SQL);
        pstmt.setString(1, userID);
        return true;
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        try {if (conn != null) conn.close();} catch (Exception e2) {e2.printStackTrace();}
        try {if (pstmt != null) pstmt.close();} catch (Exception e2) {e2.printStackTrace();}
        try {if (rs != null) rs.close();} catch (Exception e2) {e2.printStackTrace();}
    }
    return false; // λ°μ΄ν„°λ² μ΄μŠ€ 였λ₯˜
}