[JSP & Servlet] 회원 관리 - Service / DAO

 

📌회원가입 요청 비즈니스 로직 처리

MemberJoinService.java

package service;

import vo.MemberBean;
import static db.JdbcUtil.*;
import java.sql.Connection;
import dao.MemberDAO;

public class MemberJoinService {

	public boolean joinMember(MemberBean member) {
		
		boolean joinSuccess = false; //회원 가입 성공 여부
		
		MemberDAO memberDAO = MemberDAO.getInstance();
		Connection con = getConnection();
		memberDAO.setConnection(con);
		
		int insertCount = memberDAO.insertMember(member);  //삽입된 레코드가 1개 이상이면 가입된것으로 간주
		if(insertCount > 0){
			joinSuccess = true;
			commit(con);
		}
		else{
			rollback(con);
		}
		close(con);
		return joinSuccess;
	}

}

 

 

 

 

📌로그인 요청 비즈니스 로직 처리

MemberLoginService.java

package service;

import vo.MemberBean;
import static db.JdbcUtil.*;
import java.sql.Connection;
import dao.MemberDAO;

public class MemberLoginService {
	public boolean login(MemberBean member) {
		
		Connection con = getConnection();
		MemberDAO memberDAO = MemberDAO.getInstance();
		memberDAO.setConnection(con);
		boolean loginResult = false; //로그인 성공 여부
		
		String loginId = memberDAO.selectLoginId(member);
		if(loginId != null){
			loginResult = true;
		}
		close(con);
		return loginResult;
	}

}

 

 

 

 

📌회원 목록 List 비즈니스 로직

MemberListService.java

package service;

import java.sql.Connection;
import java.util.ArrayList;
import dao.MemberDAO;
import static db.JdbcUtil.*;
import vo.MemberBean;

public class MemberListService {
	public ArrayList<MemberBean> getMemberList() {
		
		Connection con = getConnection();
		MemberDAO memberDAO = MemberDAO.getInstance();
		memberDAO.setConnection(con);
		
		ArrayList<MemberBean> memberList = memberDAO.selectMemberList();
		close(con);
		
		return memberList;
	}

}

 

 

 

📌회원 상세 정보 비즈니스 로직

MemberViewService.java

package service;

import vo.MemberBean;
import static db.JdbcUtil.*;
import java.sql.Connection;
import dao.MemberDAO;

public class MemberViewService {
	public MemberBean getMember(String viewId) {
		
		Connection con = getConnection();
		MemberDAO memberDAO = MemberDAO.getInstance();
		memberDAO.setConnection(con);
		
		MemberBean member = memberDAO.selectMember(viewId);
		close(con);
		
		return member;
	}

}

 

 

 

 

📌회원 삭제 비즈니스 로직

MemberDeleteService.java

package service;

import static db.JdbcUtil.*;
import java.sql.Connection;
import dao.MemberDAO;

public class MemberDeleteService {

	public boolean deleteMember(String deleteId) {
		
		boolean deleteResult = false;//삭제 성공 여부
		
		Connection con = getConnection();
		MemberDAO memberDAO = MemberDAO.getInstance();
		memberDAO.setConnection(con);
		int deleteCount = memberDAO.deleteMember(deleteId);
		
		if(deleteCount > 0){  //삭제 된 레코드가 1개 이상일 경우 삭제 요청 성공이라 판단
			commit(con);
			deleteResult = true;
		}
		else{
			rollback(con);
		}
		close(con);
		return deleteResult;
	}

}

 

 

 

📌SQL 구문 전송하는 클래스 (DAO)

MemberDAO.java

package dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import vo.MemberBean;
import static db.JdbcUtil.*;

public class MemberDAO {
	public static MemberDAO instance;
	Connection con;
	PreparedStatement pstmt;
	ResultSet rs;
	
	private MemberDAO() {}
	
	//싱글톤 패턴
	public static MemberDAO getInstance(){
		if(instance == null){
			instance = new MemberDAO();
		}
		return instance;
	}
	
	public void setConnection(Connection con){
		this.con = con;
	}
	
	public String selectLoginId(MemberBean member){
		String loginId = null;
		String sql="SELECT MEMBER_ID FROM MEMBER1 WHERE MEMBER_ID=? AND MEMBER_PW=?";
		
		try{
			pstmt=con.prepareStatement(sql);
			pstmt.setString(1, member.getMEMBER_ID());
			pstmt.setString(2, member.getMEMBER_PW());
			rs = pstmt.executeQuery();
			
			if(rs.next()){
				loginId = rs.getString("MEMBER_ID");
			}
		}catch(Exception ex){
			System.out.println("loginMemeber Error: " + ex);			
		}finally{
			close(rs);
			close(pstmt);
		}
		
		return loginId;
	}
	
	public int insertMember(MemberBean member){
		String sql="INSERT INTO MEMBER1 VALUES (?,?,?,?,?,?)";
		int insertCount=0;
		
		try{
			pstmt=con.prepareStatement(sql);
			pstmt.setString(1, member.getMEMBER_ID());
			pstmt.setString(2, member.getMEMBER_PW());
			pstmt.setString(3, member.getMEMBER_NAME());
			pstmt.setInt(4, member.getMEMBER_AGE());
			pstmt.setString(5, member.getMEMBER_GENDER());
			pstmt.setString(6, member.getMEMBER_EMAIL());
			insertCount=pstmt.executeUpdate();
		}catch(Exception ex){
			System.out.println("joinMember Error: " + ex);			
		}finally{
			close(pstmt);
		}
		return insertCount;
	}
	
	public ArrayList<MemberBean> selectMemberList(){
		String sql="SELECT * FROM MEMBER1";
		ArrayList<MemberBean> memberList=new ArrayList<MemberBean>();
		MemberBean mb = null;
		try{
			pstmt=con.prepareStatement(sql);
			rs=pstmt.executeQuery();
			
			if(rs.next()){
				do{
				mb=new MemberBean();
				mb.setMEMBER_ID(rs.getString("MEMBER_ID"));
				mb.setMEMBER_PW(rs.getString("MEMBER_PW"));
				mb.setMEMBER_NAME(rs.getString("MEMBER_NAME"));
				mb.setMEMBER_AGE(rs.getInt("MEMBER_AGE"));
				mb.setMEMBER_GENDER(rs.getString("MEMBER_GENDER"));
				mb.setMEMBER_EMAIL(rs.getString("MEMBER_EMAIL"));
				memberList.add(mb);
				}while(rs.next());
			}
		}catch(Exception ex){
			System.out.println("getListMember Error: " + ex);			
		}finally{
			close(rs);
			close(pstmt);
		}
		return memberList;
	}
	
	public MemberBean selectMember(String id){
		String sql="SELECT * FROM MEMBER1 WHERE MEMBER_ID=?";
		MemberBean mb = null;
		try{
			
			pstmt=con.prepareStatement(sql);
			pstmt.setString(1, id);
			rs=pstmt.executeQuery();
			
			if(rs.next()){
			mb=new MemberBean();
			mb.setMEMBER_ID(rs.getString("MEMBER_ID"));
			mb.setMEMBER_PW(rs.getString("MEMBER_PW"));
			mb.setMEMBER_NAME(rs.getString("MEMBER_NAME"));
			mb.setMEMBER_AGE(rs.getInt("MEMBER_AGE"));
			mb.setMEMBER_GENDER(rs.getString("MEMBER_GENDER"));
			mb.setMEMBER_EMAIL(rs.getString("MEMBER_EMAIL"));
			}
		}catch(Exception ex){
			System.out.println("getDetailMember Error: " + ex);			
		}finally{
			close(rs);
			close(pstmt);
		}
		
		return mb;
	}
	public int deleteMember(String id){
		String sql="DELETE MEMBER1 WHERE MEMBER_ID=?";
		int deleteCount = 0;

		try{
			pstmt=con.prepareStatement(sql);
			pstmt.setString(1, id);
			deleteCount = pstmt.executeUpdate();
		}catch(Exception ex){
			System.out.println("deleteMember Error: " + ex);	
		}finally{
			close(pstmt);
		}
		
		return deleteCount;
	}
}