Developer Note/국비과정 수업내용 정리&저장

24년 10월 11일

DH_PARK 2024. 10. 21. 01:40

오늘은 User(사용자) 입장에서의 도서관리 프로그램 기능구현.

사용자 입장에서의 CRUD 의 구성.

 

Insert(1) : 회원가입

Update(2) : 회원정보수정

Delete(3) : 회원탈퇴

Select(4) : 회원정보조회

SelectAll(5) : 관리자가 회원전체정보조회

LogIn(6) : 로그인

LogOut(7) : 로그아웃

 


오늘은 사용자(User) 입장에서의 도서 관리 프로그램을 구현한다.

사용자 입장에서의 CRUD 구성 ServiceNo.

  1. Insert
  2. Update
  3. Delete
  4. Select
  5. SelectAll
  6. Login
  7. 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