package site.metacoding.demo.domain;
import java.util.ArrayList;
import java.util.List;
import org.springframework.stereotype.Component;
@Component // Dao를 Ioc 컨테이너에 띄워줌, 다른 곳에서 굳이 한번더 객체 생성 해줄 필요없어짐.
public class MemberDao {
public Integer Insert(String name, String password, String email) {
System.out.println("Insert 성공");
System.out.println(name);
System.out.println(password);
System.out.println(email);
return 1;
}
public Integer Update(Integer id, String password) {
System.out.println("Update 성공");
System.out.println(password);
return 1;
}
public Integer deleteById(Integer id) {
System.out.println("Delete 성공");
System.out.println(id);
return 1;
}
// 회원 정보 보기는 아직DB 연결을 하지 않아서 임의로 데이터 생성 후 리
public Member findById(Integer id) {
Member m1 = new Member(1,"cos","1234","cos@naver.com");
Member m2 = new Member(2,"ssar","12345","ssar@naver.com");
if(id == 1) {
return m1;
}
else if(id == 2) {
return m2;
}
else {
return null;
}
}
// 모든 회원 정보는 리스트 타입
public List<Member> findByAll() {
Member m1 = new Member(1,"cos","1234","cos@naver.com");
Member m2 = new Member(2,"ssar","12345","ssar@naver.com");
List<Member> memberList = new ArrayList<>();
memberList.add(m1);
memberList.add(m2);
return memberList;
}
}
MemberController.java
package site.metacoding.demo.web;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import site.metacoding.demo.domain.Member;
import site.metacoding.demo.domain.MemberDao;
@Controller
public class MemberController {
// MemberDao를 사용
private MemberDao memberDao;
public MemberController(MemberDao memberDao) {
this.memberDao = memberDao;
}
@GetMapping("/member/joinForm")
public String joinForm() {
return "member/joinForm";
}
@PostMapping("/member/join")
public String join(String name, String password, String email) {
Integer result = memberDao.Insert(name, password, email);
if (result == 1) {
return "member/loginForm";
} else {
return "error/serverError";
}
}
@GetMapping("/member/{id}")
public String detail(@PathVariable Integer id, Model model) {
Member memberPS = memberDao.findById(1);
model.addAttribute("member", memberPS);
return "member/detail";
}
}