목록분류 전체보기 (149)
기록

컨트롤러/create 메서드 public ModelAndView create() { /* ModelAndView * 1) Model : Controller가 반환할 데이터(String,int,List,Map,VO..)를 담당. * 2) View : 화면을 담당(뷰(View:jsp)의 경로). jsp파일의 위치 */ ModelAndView mav = new ModelAndView(); //WEB-INF\views\book\create.jsp 의 주소인데 // // //servlet-context에 저장된 경로를 제외하고 써줌 //forwarding mav.setViewName("book/create"); return mav; } /create.jsp (+파일 이미지 미리보기) 책 등록 제목 : 카테고리 :..

UPDATE ATTACH SET THUMBNAIL = (SUBSTR(THUMBNAIL,1,INSTR(THUMBNAIL,'/',1,4)) || 's_' || SUBSTR(THUMBNAIL,INSTR(THUMBNAIL,'/',1,4)+1)) INSTR 함수 문자열에서 원하는 문자를 찾을 때 INSTR 함수를 사용 .INSTR 함수는 대소문자를 구별하여 문자를 검색하며, 여러 개의 문자를 찾을 때는 OR 연산자를 사용하면 된다.

CARTESSION PRODUCT -잘쓰지않는다. EQUL JOIN, INNER JOIN (내부조인) OUTER JOIN (외부조인) 부족한쪽에 + 를 해줌 (부모) 1 : N (자식) 부모테이블의 기본키가 자식테이블의 외래키로 전이됨 자식테이블의 외래키가 부모테이블의 기본키를 참조함 EQUAL JOIN = INNER JOIN --1)EQAUL JOIN (오라클) SELECT a.LPROD_GU,a.LPROD_NM, b.FILENAME, b.FILESIZE FROM LPROD a, ATTACH b WHERE a.LPROD_GU = b.ETP_ID and b.ETP_ID = 'P101'; --2) INNER JOIN (ANSI 표준) SELECT a.LPROD_ID, a.LPROD_GU,a.LPROD_NM..

LprodVO public class LprodVO { private int lprodId ; private String lprodGu; private String lprodNm; private MultipartFile[] uploadFile; // //상품분류 : 첨부파일 = 1:N private List attachVOList; } AttachVO @Data public class AttachVO { private int seq; private String filename; private int filesize; private String thumbnail; private Date regdate; } crate get @GetMapping("/create") public String create(Mo..
INSERT ALL INTO ATTACH(SEQ, FILENAME, FILESIZE, THUMBNAIL, REGDATE) VALUES(5,'개똥이.jpg',12345,'',sysdate) INTO ATTACH(SEQ, FILENAME, FILESIZE, THUMBNAIL, REGDATE) VALUES(6,'개똥이.jpg',12345,'',sysdate) INTO ATTACH(SEQ, FILENAME, FILESIZE, THUMBNAIL, REGDATE) VALUES(7,'개똥이.jpg',12345,'',sysdate) SELECT * FROM DUAL; INSERT ALL INTO CAR(CAR_NUM, MNF_NUM, DT, DIST, CUS_NUM) VALUES('123','AD1232','2022-..

//요청URL : /lprod/uploadForm //요청방식 : get @GetMapping("/uploadForm") public String uploadForm() { //forwarding return "lprod/uploadForm"; } 파일업로드 규칙 1) method는 꼭 post! 2) enctype="multipart/form-data" 3) 랜덤값을 생성 //ERASDFASDF_개똥이.jpg UUID uuid = UUID.randomUUID(); uploadFileName = uuid.toString() + "_" + uploadFileName; //--------------------파일명 중복 방지 끝----------------- //어디에?무엇을? //계획을 세움 //C:\\u..

설정 1)pom.xml javax.servlet javax.servlet-api 3.1.0 provided commons-fileupload commons-fileupload 1.4 commons-io commons-io 2.11.0 org.imgscalr imgscalr-lib 4.2 net.coobird thumbnailator 0.4.8 root-context.xml web.xml C:\\upload 20971520 41943040 20971520 appServlet / springMultipartFilter springMultipartFilter org.springframework.web.multipart.support.MultipartFilter springMultipartFilter /* Se..

반복적으로 사용되는 header, footer와 같은 정보를 한곳에 모아둔 프레임워크. 화면 기본 구성 레이아웃 템플릿 정의하고 상속을 통하여 대부분 구조를 재사용할 수 있는 기능 및 설정파일을 통한 통합 관리를 통하여 확장성 있고 일관되게 페이지 구성을 관리한다. pom.xml org.apache.tiles tiles-extras 3.0.8 org.apache.tiles tiles-servlet 3.0.8 org.apache.tiles tiles-jsp 3.0.8 servlet-context.xml (우선순위 표시) /WEB-INF/spring/tiles-config.xml tiles-config.xml 아래와 같이 사용
WITH T AS( SELECT ROW_NUMBER() OVER(ORDER BY BOOK_ID DESC) RNUM , ROWNUM NUM1 , BOOK_ID, TITLE, CATEGORY, PRICE, INSERT_DATE, CONTENT FROM BOOK WHERE 1 = 1 AND( TITLE LIKE '%' || #{keyword} || '%' OR CATEGORY LIKE '%' || #{keyword} || '%' OR CONTENT LIKE '%' || #{keyword} || '%' ) ) SELECT T.RNUM, T.BOOK_ID, T.TITLE, T.CATEGORY, T.PRICE , T.INSERT_DATE, T.CONTENT FROM T

PL/SQL 종류 Package user function stored procedure trigger anonymous block --PL/SQL : Procedual Language(절차적인언어)/Structed Query Language) --절차적인 : 분기 , 반복, 변수 --DECLARE, EXCEPTION : 선택 --BEGIN, END : 필수 / DECLARE BEGIN --I : 자동선언정수형변수 FOR I IN 1..30 LOOP INSERT INTO BOOK(BOOK_ID, TITLE, CATEGORY, PRICE, INSERT_DATE, CONTENT) VALUES( (SELECT NVL(MAX(BOOK_ID),0)+1 FROM BOOK), '제목'||I,'카테고리'||I,10000..