다이어그램 툴은 dbdiagram.io를 사용했다.
어제 테이블을 3개로 나누기로 한 것을 정리한 모습이다. 중심이 되는 것은 tbBusinessTrip
테이블로 출장 신청에 대한 정보가 담겨있다.
tbBusinessTraveler
는 출장 관련자 테이블로 출장자, 결재자, 수신자 3가지 타입의 관련자들을 전부 저장할 수 있다. 이렇게 출장에 관련된 사람 테이블을 분리하여 하나의 출장에 여러 관련자를 저장할 수 있도록 했다.
tbBtExpenses
는 출장 경비 테이블로 경비별 타입, 결제방법, 금액 등의 정보를 저장한다. 역시 이 방법으로 하나의 출장과 여러 경비 리스트를 연결할 수 있다.
어제 리스트 페이지를 만든데 이어서 오늘은 게시물 생성/수정 페이지, 게시물 상세조회 페이지의 화면 정의서를 만들었다. 넣어야 할 정보가 많아서 일단 표로 만들었는데, html 페이지로 구현하는게 꽤 까다로울 것 같다.
사용한 다이어그램 툴에 sql 파일로 export 할 수 있는 기능이 있어서 사용해보았다. mysql에서 열어보니 int에 (unsigned)를 붙일 수 없는 것 같았다. 그 부분을 제외하고 데이터베이스 생성 후 create 해 보니 원하는대로 잘 실행이 되었다.
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>Hello World by html</h1>
<% String str = "Hello World by java"; %>
<h1><%=str %></h1>
<% for(int i=0; i<5; i++){ %>
<p>i = <%=i %></p>
<% } %>
</body>
</html>
정말 쉽고 꼼꼼하게 작성해주신 블로그 글을 참고했다. 참고 블로그
테이블 설계한 내용에 맞게 VO를 만들어주었다. DB 테이블 구조에 맞게 java에서 데이터를 받을 그릇을 만든다고 이해했다. 변수를 먼저 선언하고, get(), set() 함수는 generate getters and setters
기능을 한번에 만들어주었다..