STUDY/Spring boot

Spring Boot로 만드는 도서관리시스템웹 프로젝트_01

uragiljay 2022. 6. 18. 12:24
반응형

홈페이지 제작 후 새 프로젝트에 도전해야겠다고 생각한지 2주가량 지났다 

마음 먹은 직후에 DB ERD도 그려보고 테이블도 만들어보며 열을 올리다가

막히는 부분이 생기다 보니 '프로젝트는 해도 그만 안해도 그만' 이라는 생각이 들기 시작하더니

어느새 2주가 흘러 지나갔다. 

 

그러던 중 미래양식으로 묻어둔  주식이 폭락하는 걸 지켜보며

다른 곳에 집중하기 위해 다시 한번 마음을 다 잡아본다. 3년 뒤에 보자

프로젝트를 성공으로 마무리 할 수 있을지 모르겠지만 실패하면 창피하니까 힘내보자


2022-06-18 시작

밑 그림을 완벽하게 준비해 두고 시작해야 하겠지만 귀차니즘
대충 생각하면 대충 될꺼 같으니까 수정하면서 만들어보자 하면서 일단 시작

 

1. 테이틀 구성

책정보가 담길 book테이블 

회원정보가 담길 member테이블

대출 정보가 담길 borrow테이블

- 대출테이블에는 다른 두 테이블에서 각 bcode 와 mid를 외래키로 받아 필드에 넣었다.

  이유는 FK 사용해 보고싶어서 전공수업때 들었던 '외래키' 단어가 기억에 남아있어서

  하다 막히면 바꿔야지

 

2. 웹화면_1(입력부)

로그인 창을 인덱스로 로그인하면 관리자여부 확인하여 관리자창 일반회원창 구분

이부분 세션으로 해야할지 걍 페이지를 나눠서 보낼지 모르겠다. 

회원이 아니면 회원가입창으로

 

관리자// 도서정보입력과 대출정보입력 가능

회원// 도서정보 열람과 본인정보수정, 그리고 본인대출정보 열람이 가능

 

 

 

3. 웹화면_2(출력부)

도서정보와 book테이블의 모든 필드값을 보여준다

대출정보는 관리자만 접근가능 borrow 테이블의 모든값과 반납버튼을 추가

회원정보는 회원테이블에서 비밀번호 제외하고 보여준다 

 

블로그 작성하면서도 테이블을 조금씩 수정해서 일단 위와 같은 목표로 프로젝트를 시작

 

먼저 오라클에 테이블을 만들어준다 

Oracle SQL Developer이용

brrow테이블에 외래키 만드는데 고생했지만 나름  편하게 만들어줌  

외래키 만드는 방법

일단 모테이블에 해당 필드가 존재해야 외래키로 받아 올 수 있다. 

book table에 pk로 bcode, member테이블에 pk로 mid를 만들어준다

brrow테이블에 해당 외래키로 사용할 필드를 만들어준다 

위 밑그림 테이블표와는 이름이 바뀌어서 FK_BCODE / FK_MID로 생성하였다. 

 

Oracle SQL Developer 에서 왜래키 생성하기(SQL문은 1도 기억나지 않음)

외래키가 생성될 broow 테이블 편집화면에서 - 제약조건 오른쪽 위 +에서 새 외래 키 제약조건 선택 후

초록색 체크 부분에서 참조할 테이블을 선택하고 확인 하면 끝

삭제 시 옵션은 작업없음으로 놔뒀는데 같이 삭제할지 널값을 줄지 고를 수 있다.

 

 

일단 테이블은 완성

 

스프링 부트를 켜고 new project 실행하려는데  낯설다.

어떤 메뉴로 어떻게 만들었었는지 얼마 지나지도 않은듯 한데  완전 새롭다.

몇 번의 시행착오 후  New Spring Starter Project 찾아내 생성에 성공

 

 

프로젝트 생성 후는

controller 생성 일단 인덱스 페이지가 확인 가능하게만 만들어줌

@Controller
public class WebController {

	@RequestMapping(value="/")
	public String home() {
		
		return "index";
			
		}
	
	@RequestMapping(value="/index")
	public String index() {
		
		return "index";
	}
}

 

dto

각 테이블별 dto를 만들고 해당 테이블 필드값을 선언하고 

constructs from super class // construct using fields // getter/setter를 만들었다.

 

application.properties

서버포트 잡아주고 홈페이지 작업때 사용했던 

spring boot JSP설정 //오라클 설정 // mybatis 설정까지 

 

build.gradle

implementation 한것 중 아직 사용하지 않는 orcle 과 mybatis 관련 주석처리 

 

views

index.jsp - login 으로 이름을 바꿀지 고민중

 

실행 테스트

뙇악!! 404에러 

build.gradle 에 밑에 줄 추가하여 해결 

implementation 'javax.servlet:jstl'
implementation 'org.apache.tomcat.embed:tomcat-embed-jasper'

gradle biuld 에서 JSP 파일 적용가능하게 해주는 거라고 한다. 

일단 화면 작동 확인했으니 여기까지

요기까지 진행시간 약 4시간정도 소요 되었다. 앞으로도 작업시간 체크해보자.

프로젝트 생성부터 기억나는 것이 없어서 찾아보면서 하려니 시간이 많이 걸린다.

시작이 반이니까 4시간만 더 하면 되는건가

프로젝트 너 잠깐 절루 가있고 

 

근데 이렇게 하는거 맞는지 걱정되기 시작한다. 아직 코딩이랑 친해지지도 못했고

프로젝트라는 것도 처음이고 도서관이랑도 친하지 않은데 왜 이걸 하는거지

막상 시작하고나니 자신감이 내 주식처럼 떨어진다.

반응형