(JDBC) Service 클래스에서 로그인 서비스 만들기

Jayden·2023년 3월 30일

JDBC

목록 보기
2/6
public class MainService {

	private MainDAO dao = new MainDAO();

	/** 로그인 서비스
	 * @param memberId
	 * @param memberPw
	 * @return Member
	 * @throws Exception
	 */
		  //반환
	public Member login(String memberId, String memberPw) throws Exception{
		
		// 1. Connection 생성
		Connection conn = getConnection();
		
		// 2. DAO 호출
		Member member = dao.login(conn, memberId, memberPw);
		
		// 3. Connection 반환
		close(conn);
		
		// 4. 결과 반환
		return member;
	}

JDBC Service 클래스에서 해야할 일

  1. DAO 객체 생성: Service 클래스에서는 DAO 객체를 생성하고, 이를 활용하여 데이터베이스와 상호작용합니다. DAO 객체는 보통 생성자를 통해 생성한다.

  2. 트랜잭션 관리: 여러 개의 DAO 메소드를 실행하는 경우, 이들 메소드를 하나의 트랜잭션으로 묶어서 실행해야 합니다. Service 클래스에서는 이러한 트랜잭션을 관리합니다.

  3. 비즈니스 로직 수행: Service 클래스에서는 DAO 객체를 사용하여 비즈니스 로직을 수행합니다. 이를 통해 데이터베이스에 저장된 데이터를 가져오고, 가공하여 필요한 정보를 생성하거나 변경하는 등의 작업을 수행합니다.

  4. 예외 처리: Service 클래스에서는 DAO 메소드에서 발생하는 예외를 적절하게 처리해야 합니다. 이를 통해 애플리케이션의 안정성을 유지할 수 있습니다. 보통 try-catch 구문을 사용하여 예외를 처리하며, 예외를 처리한 후 Service 메소드에서 예외를 반환합니다.(throws Exception)

  5. 결과 반환: Service 클래스에서는 DAO 메소드에서 반환된 결과를 가공하여 Controller나 다른 Service 클래스에서 사용할 수 있는 형태로 반환합니다.

이 코드에서는 DAO 클래스는 Member 정보를 데이터베이스에서 가져오는 역할을 수행합니다.
login 메소드에서는 DAO 객체를 생성하고, 이를 통해 데이터베이스에서 memberId와 memberPw를 검증한 후, 해당 회원 정보를 담은 Member 객체를 반환합니다.

  1. DAO 호출
Member member = dao.login(conn, memberId, memberPw); 

memberId, memberPw 값 전달 받음

  1. Connection 반환 ( INSERT/UPDATE/DELETE) 같은 DML 작업이 아니라 SELECT 작업이기 때문에 트랜잭션 처리 필요없음.

    close(conn);

  2. 결과 반환
    return member;

0개의 댓글