개발/개발일지(국비지원)

2022년 11월 13일 일요일(로그인페이지2)

후누피 2022. 11. 13. 13:39
728x90

● Service

Controller에 의존성을부여하여 service.getUser코드가 실행되면

Service페이지가 실행된다.

controller과 Dao페이지를 연결해주는 역할을하기때문에

Service패키지에 userDao에 의존성객체를 주입해주기 위해 @Autowired private UserDao userDao;를 코딩해준다.

 

Controller에서 요청한 getUser메서드는 userid를 파라미터로 갖고

userDao에있는 selectOne(userid)메서드가 실행되어 나온결과값을 리턴해줄것이다.

 

 

● UserDao

@Repository를 작성하여 이 클래스가 DAO클래스라는것을 알려줄수있다.

@Autowired를 사용하여

private SqlsessionTemplate template;  ( Mybatis 쿼리문을 수행해주는 역할을한다.)

private Map<String,Object> param = new HashMap<>(); 을통해 해쉬맵을 사용할수있게 정의해둔다.

Map<"Key값","value값">으로 설정할수있다.

 

 

로그인시에 DB에서 로그인하는 아이디와 비밀번호가 일치하는 정보를 가져와야하기때문에

User  selectOne(String userid) 문자열형태의 userid를 파라미터값으로 가진 메서드를 실행한다.

param.clear(); 를 통해 param에 혹시 있을지모르는 데이터값을 정리해주고,

param.put("userid",userid) "userid"키값을 가진 value userid를 넣는다. 

 

param객체에는 브라우저에서 로그인시 입력한 id와 비밀번호값을 가지고있다.

return template.getMapper(UserMapper.class).selectOne(param);

 

설정해준 UserMapper에서 selectOne(param) 쿼리문을 실행하게 된다.

 

 

● UserMapper

UserDao에서 요청한 selectOne을 통해

로그인시 입력하여 param객체에 들어간 userid 정보를통해

select * from u_user where userid=#{userid}

u_user테이블의 입력된아이디(userid)에 맞는 정보를 모두 조회하여

해당정보를 리턴해준다.

 

DB에 정보와 일치한다면 UserController에서 코딩한대로 세션에 등록하고

setViewName("redirect:페이지?id="+user.getUserid(); 를 통해 

메인페이지로 이동할수있도록 설정하였다.

 

아직 태그들의 정렬이나 css부분은 정확히 이해한 부분이 많지않아 어색하지만 

되는대로 초기설정을 해두었다.

728x90