프리비어슬리 1편
개발자스은배님의 조언을 받아
일단 기능을 완성해보기로 했다
@ResponseBody
@PostMapping("/signUp") // /hi/signUp
public String signUpTest(String id, String pwd,String name, String email,String birth) throws Exception {
// 매개변수 값이 잘 들어왔는지 알아보기 위해 출력
System.out.println("id = " + id);
System.out.println("pwd = " + pwd);
System.out.println("name = " + name);
System.out.println("email = " + email);
System.out.println("birth = " + birth);
MemberDto dto = new MemberDto(id,pwd,name,email);
//1.sql문으로 insert
int num = service.signUp(dto);
// insert가 동작했는지 알아보기 위해 출력
System.out.println("num = " + num);
if(num==1)
return "redirect:/";
//2.중복이면 다시
return "signUp";
}
테스트를 돌리고
계속 오류 로그를 찾아보다가
sqlsession이 null값이 뜨는 걸 확인했다
(sout으로 값 찍기를 생활화하자 ㅠㅠ)
여러가지 시도를 해보았다
1. DB와 DTO 클래스의 컬럼명이 같은지 확인 -> 같음
2. @Autowired 대신 @Resource(name="sqlSession")으로 직접 빈 주입받기 -> 안됨
3. mybatis-config.xml 확인 -> typeAlias 잘 설정되어있음
-> @Autowired 한 객체를 new 생성자로 생성했기 때문에 발생했던 문제였음!!!
해결하고...
회원가입을 해보았다
일단 반은 의도한대로(가입 후 원래 있던 페이지로 돌아가기) 됐으니
DB에 데이터가 잘 들어갔는지 확인해보자!!
일단 DB에 잘 들어갔으니 반은 성공!!!!
다음엔 제대로 반응을 할 수 있도록 고쳐보겠당 :)
728x90