Insert
- 오라클에서 새로운 테이블 ATTACH 생성
- column으로 UUID, UPLOADPATH, FILENAME, FILETYPE(I면 이미지, 아니면 O) BNO(글번호)
- 오라클에 생성한 ATTACH 테이블에 대한 VO 만들기
- com.example.domain에서 AttachVO 생성
- com.example.mapper에 AttachMapper 생성
- insertAttach 메서드 작성
- 쿼리문으로 AttachVO가 포함하고 있는 정보인uuid, uploadpath, filename, filetype, bno를 DB의 ATTACH 테이블로 넘겨줌
- AttachService를 만드는 대신 BoardService에서 AttachMapper를 의존 관계로 등록하고 새로운 메서드인 registerBoardAndAttaches를 생성
- 첨부파일이 몇개일지 모르므로 List의 형태로 첨부파일을 받음
- 게시판 글쓰기와 스프링이 동시에 처리되는 메서드
- Transactional 애노테이션을 달아주면 스프링이 트랜잭션 단위로 commit과 rollback 처리해줌
- input type이 파일 첨부 버튼임, 얘가 계속 일을 하는 것임
- '파일 추가' 버튼 추가
- button type에서 타입을 따로 지정하지 않으면 자동으로 submit 형태로 됨. form 태그에서 사용하는게 아니라면 button타입으로 바꿔줘야 함
- 파일 추가에 srcipt로 클릭시 이벤트 적용
- 클릭이한번 발생할때 마다 레드박스 내용이 실행됨
- `` : 백틱이라고 함
- 파일 추가를 누를때마다 첨부파일 버튼이 추가됨
- 첨부 파일은 최대 5개까지만 가능하므로 그 이상으로 클릭시 경고창 출력됨
- form 태그에 enctype(인코딩타입)을 추가
- multipart는 무조건 파일 업로드를 의미함!
- /를 기준으로 왼쪽은 대분류, 오른쪽은 소분류
- BoardController에 wirte 메서드를 수정
- 지금 쓰려고 multipart-config도 준비를 해놨었음
- 정상적으로 2개 추가되서 업로드가 됨
- 첨부를 안해도 1이 찍히는 것은 write.jsp에 기본적으로 파일 첨부 버튼이 1개 있어서 1이 찍힘
- getDateFolder 메서드 생성
- 파일 업로드 설정