열심히 끝까지
[코딩 과제] - 9/14 강사님 문제 본문
Member 테이블 이용해서
회원가입
로그인 성공/실패
------------------com.ryo.biz.member : MemberVO, MemberService
package com.ryo.biz.member;
public class MemberVO {
private String mid;
private String mpw;
private String name;
private String role;
public String getMid() {
return mid;
}
public void setMid(String mid) {
this.mid = mid;
}
public String getMpw() {
return mpw;
}
public void setMpw(String mpw) {
this.mpw = mpw;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getRole() {
return role;
}
public void setRole(String role) {
this.role = role;
}
@Override
public String toString() {
return "MemberVO [mid=" + mid + ", mpw=" + mpw + ", name=" + name + ", role=" + role + "]";
}
}
package com.ryo.biz.member;
// 상속을 위한 인터페이스
public interface MemberService {
void insertMember(MemberVO vo);
MemberVO selectOneMember(MemberVO vo);
}
------------------com.ryo.biz.member.impl : MemberDAO, MemberServiceImpl
package com.ryo.biz.member.impl;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import org.springframework.stereotype.Repository;
import com.ryo.biz.common.JDBCUtil;
import com.ryo.biz.member.MemberVO;
@Repository("memberDAO")
public class MemberDAO {
private Connection conn;
private PreparedStatement pstmt;
final String sql_selectOne="SELECT * FROM MEMBER WHERE MID=? AND MPW=?";
final String sql_insert="INSERT INTO MEMBER(MID,MPW,NAME,ROLE) VALUES(?,?,?,?)";
final String sql_update="UPDATE BOARD SET NAME=?, MPW=? WHERE MID=?";
final String sql_delete="DELETE BOARD WHERE MID=?";
// 로그인
MemberVO selectOneMember(MemberVO vo) {
System.out.println("로그 : selectOne: " + vo);
conn=JDBCUtil.connect();
try {
pstmt=conn.prepareStatement(sql_selectOne);
pstmt.setString(1, vo.getMid());
pstmt.setString(2, vo.getMpw());
ResultSet rs=pstmt.executeQuery();
if(rs.next()) {
MemberVO data=new MemberVO();
data.setMid(rs.getString("MID"));
data.setMpw(rs.getString("MPW"));
data.setName(rs.getString("NAME"));
data.setRole(rs.getString("ROLE"));
System.out.println("로그 : 로그인 완료 " + vo);
return data;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
JDBCUtil.disconnect(pstmt, conn);
}
return null;
}
// 회원가입
void insertMember(MemberVO vo) {
System.out.println("로그 >> insertBoard");
conn=JDBCUtil.connect();
try {
pstmt=conn.prepareStatement(sql_insert);
pstmt.setString(1, vo.getMid());
pstmt.setString(2, vo.getMpw());
pstmt.setString(3, vo.getName());
pstmt.setString(4, vo.getRole());
pstmt.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
} finally {
JDBCUtil.disconnect(pstmt, conn);
}
}
// 나중을 위한 멤버 업데이트
void updateMember(MemberVO vo) {
System.out.println("로그 >> updateBoard");
conn=JDBCUtil.connect();
try {
pstmt=conn.prepareStatement(sql_update);
pstmt.setString(1, vo.getName());
pstmt.setString(2, vo.getMpw());
pstmt.setString(3,vo.getMid());
pstmt.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
} finally {
JDBCUtil.disconnect(pstmt, conn);
}
}
// 나중을 위한 멤버 삭제
void deleteMember(MemberVO vo) {
System.out.println("로그 >> deleteBoard");
conn=JDBCUtil.connect();
try {
pstmt=conn.prepareStatement(sql_delete);
pstmt.setString(1,vo.getMid());
pstmt.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
} finally {
JDBCUtil.disconnect(pstmt, conn);
}
}
}
package com.ryo.biz.member.impl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ryo.biz.member.MemberService;
import com.ryo.biz.member.MemberVO;
// 상속받아와 override + Service로 DAO를 멤버변수로 가지는 서비스 언급
@Service("memberService")
public class MemberServiceImpl implements MemberService {
@Autowired // 해당 멤버변수 타입 체크
private MemberDAO memberDAO;
@Override
public void insertMember(MemberVO vo) {
memberDAO.insertMember(vo);
}
@Override
public MemberVO selectOneMember(MemberVO vo) {
// TODO Auto-generated method stub
return memberDAO.selectOneMember(vo);
}
}
------------------test : Client
package test;
import java.util.List;
import java.util.Scanner;
import org.springframework.context.support.AbstractApplicationContext;
import org.springframework.context.support.GenericXmlApplicationContext;
import com.ryo.biz.member.MemberService;
import com.ryo.biz.member.MemberVO;
public class Client {
public static void main(String[] args) {
AbstractApplicationContext factory=new GenericXmlApplicationContext("applicationContext.xml");
MemberService ms = (MemberService)factory.getBean("memberService");
Scanner sc = new Scanner(System.in);
MemberVO mvo = new MemberVO();
while(true) {
System.out.println("1. 회원가입");
System.out.println("2. 로그인");
System.out.println("----------------------");
System.out.print("번호 입력 : ");
int num = sc.nextInt();
if(num==1) {
System.out.println("----회원가입----");
System.out.println("--------------");
System.out.print("아이디 : ");
String mid=sc.next();
mvo.setMid(mid);
System.out.println("로그 아이디 : " + mvo.getMid());
System.out.print("비밀번호 : ");
String mpw=sc.next();
mvo.setMpw(mpw);
System.out.print("이름 : ");
String name=sc.next();
mvo.setName(name);
System.out.print("role : ");
String role=sc.next();
mvo.setRole(role);
ms.insertMember(mvo);
continue;
}else {
System.out.print("아이디 : ");
String mid=sc.next();
mvo.setMid(mid);
System.out.print("비밀번호 : ");
String mpw=sc.next();
mvo.setMpw(mpw);
if(ms.selectOneMember(mvo)==null) {
System.out.println("로그인 실패");
break;
}
else {
System.out.println("로그인 성공");
break;
}
}
}
sc.close();
factory.close();
}
}
'디바이스 융합 자바(Java)기반 풀스택 개발자 양성과정(과제)' 카테고리의 다른 글
[코딩 과제] - 9/27 강사님 문제 - 사진 업로드 + 미리보기(추가사항) (0) | 2022.09.28 |
---|---|
[코딩 과제] - 9/26 강사님 문제 : 검색 기능 + DAO2 적용 (0) | 2022.09.27 |
[코딩 과제] - 9/13 강사님 문제 (1) | 2022.09.14 |
능력단위평가 - 오류처리 (0) | 2022.08.11 |
[코딩 과제] - 8/4 강사님 문제 (0) | 2022.08.04 |