SPRING/IceWater Community
[스프링] 첨부파일 다중파일 구현, 수정,삭제 로직의 설명(4)
이부분은 꽤 복잡해서 뒤쪽에 전체적인 흐름을 적어놨습니다.. 궁금하신분은 한번 읽어보시고 글을 읽는 것을 추천해드립니다. Mapper에 추가 UPDATE MP_FILE SET DEL_GB = 'Y' WHERE FILE_NO = #{FILE_NO} update문이지만 삭제여부를 판별하는 DEL_GB로 기본값인 'N'을 Y로 바꿔서 화면에 표시가 되지 않도록 한다. 데이터베이스에는 그대로 남아있다. 데이터베이스까지 아예 삭제하고싶다면 delete문을 이용해서 FILE_NO를 이용해 삭제하는 방식을 사용하면 되겠다. ex) delete from MP_FILE where FILE_NO = #{FILE_NO} 파라미터를 받아오는 방식은 동일하니 어렵지 않다. 이번글에선 다중첨부파일과 게시글 수정, 삭제를 구현하는..
[스프링]게시판 첨부파일 다운로드 (3)
mapper 작성 SELECT STORED_FILE_NAME, ORG_FILE_NAME FROM MP_FILE WHERE FILE_NO = #{FILE_NO} 파일번호를 기준으로 파일테이블의 파일이름을 검색합니다. function fn_fileDown(fileNo){ var formObj = $("form[name='readForm']"); $("#FILE_NO").attr("value", fileNo); formObj.attr("action", "/board/fileDown"); formObj.submit(); } 다운로드를 요청하는 게시글 상세페이지 뷰의 script 태그 사이에 해당 함수를 넣어준다. 전 포스팅에서 만들어놓은 onclick 함수와 input hidden태그를 사용해서, 다운로드를 실..
[스프링] 게시글 첨부파일 조회 구현 설명(select) (2)
SELECT FILE_NO, ORG_FILE_NAME, ROUND(FILE_SIZE/1024,1) AS FILE_SIZE FROM MP_FILE WHERE BNO = #{BNO} AND DEL_GB = 'N' ORDER BY FILE_NO ASC 먼저 Mapper를 작성해준다. 필요한 파라미터는 BNO(게시글 PR)이기 때문에 파라미터 타입을 int로 받고, 결과값은 첨부파일의 파라미터인 Map으로 넘긴다. 파일사이즈는 1024당 1로 나누어 kb로 계산하고 삭제여부가 N인 파일을 FILE_NO(파일PR)을 기준으로 오름차순으로 정렬한다. DAO작성 BoardDAO public List selectFileList(int bno) throws Exception; BoardDAOImpl @Override p..
[스프링]게시판 첨부파일 업로드 구현 설명(insert) (1)
오라클,스프링프레임워크 기준입니다. 먼저 파일추가에 필요한 테이블을 추가해준다. CREATE TABLE MP_FILE ( FILE_NO NUMBER, BNO NUMBER NOT NULL, ORG_FILE_NAME VARCHAR2(260) NOT NULL, STORED_FILE_NAME VARCHAR2(36) NOT NULL, FILE_SIZE NUMBER, REGDATE DATE DEFAULT SYSDATE NOT NULL, DEL_GB VARCHAR2(1) DEFAULT 'N' NOT NULL, PRIMARY KEY(FILE_NO) ); CREATE SEQUENCE SEQ_MP_FILE_NO START WITH 1 INCREMENT BY 1 NOMAXVALUE NOCACHE; COMMIT; 첨부파일 기..
[스프링]-댓글 수 구현 : 동기,비동기 방식을 사용할 때의 구현, 차이점과 2가지의 댓글 수 변경 로직
이번글은 1. 동기식 댓글작성을 사용할때 댓글수 구현 2. 비동기식 댓글작성을 사용할때 댓글수 구현 3. 그리고 전체댓글개수를 검색해서(select count) 댓글수를 변경하는 방법과 댓글 작성시 +1 , 삭제시 -1 로 댓글수를 변경하는 방법 을 설명합니다. 서비스중인 게시판들을 보면, 게시판 제목 옆에 댓글이 몇개 달렸는지 나와있는 부분이 있다. 그 부분을 구현해보려고 한다. 바로 이 전 글인 조회수 증가와 비슷한 부분이 있다 -------- 동기식 ( 서브쿼리 방식) ALTER TABLE MP_BOARD ADD(REPLYHIT NUMBER DEFAULT 0); COMMIT; 일단 게시글 테이블에 댓글수 컬럼을 추가해준다. public class BoardVO { private int bno; pr..
[스프링] 게시글 조회수와 트랜잭션 구현
오라클 사용중입니다. ALTER TABLE MP_BOARD ADD(HIT NUMBER DEFAULT 0); COMMIT; 조회수 칼럼 HIT 를 게시판 테이블에 추가 public class BoardVO { private int bno; private String title; private String content; private String writer; private Date regdate; private int hit; 게시판VO에 hit를 추가하고 getter&setter를 생성 org.springframework spring-tx 3.1.1.RELEASE 트랜잭션을 사용하기위해 트랜잭션관련 라이브러리를 가져올 코드를 pom.xml에 추가 스프링 트랜잭션 라이브러리를 사용하기위해 root-con..
스프링 페이징 구현 - 게시글 수정,삭제,내용보기 후 검색어유지
UriComponents 을 사용해서 페이징과 게시글 검색 기능을 구현했다. 그 후에 검색기능 후 url로 검색어 유지 기능 1.검색 후 게시글 내용페이지로 들어가서 목록을 눌렀을때 검색어를 유지한채로 list로 돌아가기 2.삭제 시 원래 검색어를 유지한채 list로 돌아가기) 3.수정페이지에서 취소시 원래 검색어를 유지한채 readView로 돌아가기) 4.수정 후 readView에서 목록을 눌러 list로 돌아갈때 검색어 유지) 을 추가했다. ************* SearchCriteria scri = 페이징과 검색어 값이 담긴 클래스 BoardVO boardVO = 게시글 PR,제목,내용,작성자 등 게시글 관련값이 담긴 클래스 RedirectAttributes rttr= http주소 header ..