⛏️/Spring
[Spring] 로그인 ver
defyuil
2023. 12. 1. 11:37
[로그인 처리 동작]
DAO 추가
// 로그인 처리 동작
public MemberVO loginMember(String userid, String userpw);
public MemberVO loginMember(MemberVO vo);
-> 나중에 문제 될 상황들을 대비하면 두 번째 코드가 좋다
DAOImpl 추가
@Override
public MemberVO loginMember(MemberVO vo) {
logger.debug(" loginMember(MemberVO vo) 호출 ");
logger.debug(" DAO -> mapper 호출 ");
return null;
}
memberMapper 추가
<!-- 로그인 -->
<select id="loginMember" resultType="com.itwillbs.domain.MemberVO">
select * from tbl_member
where userid=#{userid} and userpw=#{userpw}
</select>
DAOImpl 추가
@Override
public MemberVO loginMember(MemberVO vo) {
logger.debug(" loginMember(MemberVO vo) 호출 ");
logger.debug(" DAO -> mapper 호출 ");
MemberVO resultVO
= sqlSession.selectOne(NAMESPACE + ".loginMember",vo);
logger.debug(" 결과 : "+resultVO);
return resultVO;
}
DAOImpl 추가
@Test
public void 로그인_테스트() {
logger.debug(" 로그인_테스트() ");
MemberVO vo = new MemberVO();
vo.setUserid("admin");
vo.setUserpw("1234");
MemberVO resultVO = mdao.loginMember(vo);
logger.debug(" 결과: "+resultVO );
}
결과
if 구문을 추가해 로그인 성공, 실패 메시지 콘솔에 뜨기 하기
if(resultVO != null) {
logger.debug(" 로그인 성공!! ");
} else {
logger.debug(" 로그인 실패!! ");
}
[매개변수 ver]
DAO
// 로그인 처리 동작
public MemberVO loginMember(MemberVO vo);
public MemberVO loginMember(String userid, String userpw);
DAOImpl 추가
@Override
public MemberVO loginMember (String userid, String userpw) {
logger.debug(" loginMember(String userid, String userpw) 실행");
MemberVO vo = new MemberVO();
vo.setUserid(userid);
vo.setUserpw(userpw);
MemberVO resultVO
= sqlSession.selectOne(NAMESPACE + ".loginMember", vo);
// => mapper로 전달가능한 객체는 1개뿐
return resultVO;
}
만약 userid, boardpw를 가져오고 싶을 경우... 둘을 가져오는 건 불가능하다!
전달된 정보가 하나의 객체(VO)저장이 불가능한 경우 => JOIN
=> 하나의 형태로 만들어서 mapper 전달
@Override
public MemberVO loginMember (String userid, String boardpw) {
logger.debug(" loginMember(String userid, String boardpw) 실행");
// MemberVO vo = new MemberVO();
// vo.setUserid(userid);
// vo.setUserpw(userpw);
// 전달된 정보가 하나의 객체(VO)저장이 불가능한 경우 => JOIN
// => 하나의 형태로 만들어서 mapper 전달
// Map<K,V> 컬렉션 사용
Map<String, Object> paramMap
= new HashMap<String, Object>();
paramMap.put("userid", userid);
paramMap.put("userpw", boardpw);
MemberVO resultVO
= sqlSession.selectOne(NAMESPACE + ".loginMember", paramMap);
// => mapper로 전달가능한 객체는 1개뿐
return resultVO;
}