오늘은 User(사용자) 입장에서의 도서관리 프로그램 기능구현.
사용자 입장에서의 CRUD 의 구성.
Insert(1) : 회원가입
Update(2) : 회원정보수정
Delete(3) : 회원탈퇴
Select(4) : 회원정보조회
SelectAll(5) : 관리자가 회원전체정보조회
LogIn(6) : 로그인
LogOut(7) : 로그아웃
오늘은 사용자(User) 입장에서의 도서 관리 프로그램을 구현한다.
사용자 입장에서의 CRUD 구성 ServiceNo.
- Insert
- Update
- Delete
- Select
- SelectAll
- Login
- LogOut
어제 한대로 기본적인 순서부터 적어보자면 뷰에서 사용자에게 입력을 받는다. 받아서 컨트롤러에서 요청을 처리하는데 , 어디로 처리하냐 ?
private void init() {
System.out.println("[FC] init()..."); //
//요청 API 에 따른 SubController 저장
map.put("/book", new BookController());
map.put("/user", new UserController());
}
엔드포인트가 /book 이라면 북 컨트롤러
/user 라면 유저 컨트롤러로 가는데
지금 나는 user 로 간다. 여기서 서비스넘버에 따라 어떤 기능을 수행할지 switch 문으로 함수를 나눈다.
case 1: // insert 회원가입.
System.out.println("[SC] UserController add()...");
if(!isValid(userDto)) { // 유효성 확인
// 유효성 체크 실패시 처리
returnValue.put("success", false);
returnValue.put("message", "회원 가입 실패.");
return returnValue;
}
// 서비스 요청
System.out.println("SC UserController dto :" + userDto);
boolean isAdded = userServiceImpl.memberJoin(userDto);
//뷰로 전달
if(isAdded) {
returnValue.put("success", true);
returnValue.put("message", "회원 등록 완료.");
}else { //다른 상황에서의 실패를 가정 ?
returnValue.put("success", false);
returnValue.put("message", "회원 등록 실패.");
}
break;
여기서 serviceNo 1번 insert 는 사용자가 회원이 아닐 때 회원가입을 하는 메소드이다.
사용자가 메시지를 확인할 수 있는 뷰에 전달해줄 객체 returnValue 변수를 선언. (HashMap) 형태
회원 정보를 제대로 입력했는지 유효성 검사. → 제대로 안되어있다면 returnValue 에 실패, false 가 들어가서 “회원가입 실패” 출력
아니라면 그대로 계속 진행 boolean isAdded 라는 boolean형태 메소드 선언. 이 메소드는 memberjoin 메소드를 실행함. memberjoin 메서드는
그대로 insert 메서드를 반환 → insert 메서드는 executeUpdate 메서드 실행 값을 담은 int result 를 반환한다. (executeUpdate는 영향을 끼친 행의 수를 반환한다)
12시
커넥션 풀 만드는 과정..
프레임워크 없이 직접 만들어보는중
벡터 클래스 ?
List 를 구현하는 클래스.
데이터의 크기를 가변 크기로 설정할 수 있다.
※ 요소의 개수에 따라 자동으로 크기를 조절함.
특징
- List 구현한 컬렉션
- 객체 삽입 , 삭제 , 이동이 간단
- 데이터 저장한 순서를 기억함 ( 인덱스가 있다는 뜻 ? )
- 데이터 중복 저장을 허용함
- 다양한 타입의 데이터 저장 가능
- 기본형 데이터는 저장 안됨. (Wrapper 클래스 타입만 가능)
히카리 라이브러리 :
데이터풀을 대신 만들어주는 라이브러리.
예외처리같은것도 다 해준다고 한다.
트랜젝션
데이터베이스 에서 수행하는 작업의 단위
트랜젝션 처리 : 여러 쿼리문들의 처리를 하나로 묶어서 커밋을 지연시키는 처리
안그러면 중간에 문제가 있는 쿼리문이 실행되어서 예외가 떠도
전에 실행된 쿼리가 실행되버리기 때문이다
서비스 항목 비즈니스 로직은 mvc 패턴에서 controller 가 아닌
model 에 포함된다. 이 model 에 포함된 service 로직을 컨트롤러에서 호출해서 사용하는듯하다.
'Developer Note > 국비과정 수업내용 정리&저장' 카테고리의 다른 글
24년 10월 15일 (1) | 2024.10.21 |
---|---|
24년 10월 14일 (0) | 2024.10.21 |
24년 10월 10일 (3) | 2024.10.10 |
24년 10월 7일 (0) | 2024.10.09 |
24년 10월 4일 (0) | 2024.10.08 |