분류 전체보기 (121) 썸네일형 리스트형 [Spring] 이미지 파일 업로드 & 변경 이미지 업로드 1. VIEW 사진을 업로드할 insert.do에서는 하기와 같이 업로드 form을 생성할 때 이미지일 경우네는 enctype으로 인코딩 설정이 별도로 필요하다. 2. VO 추가 멤버변수에 MultipartFile의 형식으로 사용자가 올린 사진을 원하는 경로에 저장이 가능하도록 생성해준다. (import 필요) String 타입으로 파일명을 저장할 용도로 만들 filename은 올린 이미지를 변경할 때 사용된다. package com.kim.biz.board; import org.springframework.web.multipart.MultipartFile; public class BoardVO { private int bid; private String title; private Stri.. [Spring] 2-Layered Architecture (Presentation Layer, Business Layer) 지금까지의 동작 과정 1. 클라이언트가 *.do 요청 2. 서블릿 컨테이너(DispatcherServlet)가 구동됨 -> 현재의 계층(layer)을 프레젠테이션 레이어(Presentation Layer) 3. 스프링 컨테이너가 구동되면서 Controller 객체들 생성 4. Controller 의 Command 객체로 DAO객체를 사용함 이때! 사용자가 DAO가 아닌 DAO를 사용하고 싶으나 @Autowired가 안되어있어서 사용이 불가! ☆ Controller 의 모든 메서드는 DAO 객체를 직접 이용하고있다! ☆ Spring에서는 DAO객체를 직접 이용하지않고, 반드시 "비즈니스 컴포넌트(ServiceImpl)"를 이용해서 DAO 객체를 다룰 수 있게끔 구성해야한다! 왜 "비즈니스 컴포넌트(Serv.. [MySQL] 페이징처리 - Orcle과 MySQL 차이 (ROWNUM, LIMIT) 기존 Oracle 사용하던 프로젝트를 MySQL로 변환하는 작업을 하면서 페이징처리 시 사용하는 문법이 달라서 차이를 간단하게 정리해 보려고 한다. 예시 : CBOARD 테이블의 1~3까지 행을 출력하시오 Oracle은 ROWNUM 사용! -> SELECT * FROM (SELECT B.*, ROWNUM FROM (SELECT * FROM CBOARD ORDER BY ROWNUM DESC) B WHERE ROWNUM = 1 MySQL은 LIMIT 사용! SELECT * FROM 테이블명 ORDER LIMIT 숫자(A), 숫자(B) 위 쿼리는 (A+1)부터 B개의 행을 출력, 1~3 일경우에는 앞 숫자는 -1한 값인 0이여야 한다. -> SELECT * FROM CBOARD ORDERS LIMIT 0,3 .. [오류해결] MySQL - Duplicate entry '0' for key '테이블명.PRIMARY' 오류 Oracle -> MySQL로 변경하는 과정에서 게시판에 insert 진행 시 하기와 같은 오류가 발생했다...! java.sql.SQLIntegrityConstraintViolationException: Duplicate entry '0' for key 'cboard.PRIMARY' 오류 내용은 기본키가 중복되었다는 내용인데 Oracle은 sql문 작성 시 PK에 별도의 문구를 추가하지 않아도 자동 증가 필드가 실행되는 반면에 Mysql은 자동 증가 필드 설정을 해주어야한다.!! 하기와 같이 테이블에 INT인 PK에 대해서 AUTO_INCREMENT를 추가해주니 오류 해결! BNUM INT PRIMARY KEY AUTO_INCREMENT, [오류해결] 이클립스 - Java heap space 오류 이클립스를 실행하면 하기와 같이 "Unhandled event loop exception Java heap space" 오류창이 뜨면서 자동 종료가 되었다.... 구글링을 해보니 자바 메모리 설정을 하면 해결이 가능한 문제였다...! 일단 eclipse 폴더의 설정 파일을 클릭해서 열어준다. - Xms는 최소 메모리 - Xmx는 최대 메모리 XX:MaxPermSize=128M 위와 같은 코드를 추가했는데 이는 힙 메모리 영역에 대한 설정을 추가하는 것이라고 한다. 정확한 작동 원리는 모르지만 힙 메모리 영역을 추가해줘서 작업이 원활하게 해주는 것 같다. 이렇게 코드만 추가하고 실행해보니 문제없이 실행 완료...!! 참고 블로그 : https://choieun.tistory.com/entry/%EC%9D%.. [MySQL] cmd창에서 접속, 환경변수 설정 MYSQL 설치 후 cmd 창에서 명령어를 실행하려면 환경변수 설정을 먼저 해주어야 한다. 1. 제어판 -> 시스템 -> 고급 시스템 설정 2. 환경 변수 클릭 3. 시스템 변수(s)안에 Path 속성 편집 클릭 4. MySQL이 설치된 bin 폴더 주소 복사 C:\Program Files\MySQL\MySQL Server 8.0\bin 새로만들기 클릭 후 복사한 주소 붙여넣은 뒤 확인! 환경변수 설정 완료! cmd 창에서 MySQL에 접속하는 방법 1. MySQL 로그인 mysql -u 유저네임 -p 입력 후 암호 입력! 2. 기본 db 확인 show databases; 3. db생성 create database 생성할DB이름 default character set UTF8; show databases.. [MySQL] MySQL 로그인 오류, 비밀번호 재설정 로그인 오류 유형 1) ERROR 1045 (28000): Access denied for user 'root@'localhost' (using password: NO) - 사용자의 비밀번호가 없을 경우 나타나는 오류 문구, 아래 해결 방법에 있는 명령어들 중 하나를 선택해 입력. [해결 방법] 1. mysql -u 사용자 2. mysql -u 사용자 -p 비밀번호 3. mysql -u 사용자 -p Enter password : 비밀번호 입력 위 세 가지 방법 중에서 하나 선택 (3번 방법을 추천, 3번은 명령어 실행 후에 비밀번호 입력 필요함.) 유형 2) ERROR 1045 (28000): Access denied for user 'root@'localhost' (using password: YES).. [Spring] 어노테이션@ - RequestParam, ModelAttribute, SessionAttributes ♡이전 포스팅♡ 에서는 XML에 파일에 하였던 설정들을 Java 클래스 파일에 @을 사용하여 스프링 설정을 하였는데 이번 시간에는 더 다양한 @과, 속성들을 사용해보려고 한다. 1. Model 객체 사용 지금까지는 ModelAndView 커맨드 객체를 사용해서 mav를 output으로 보내었는데 스프링 부트 스타일이 string으로 정형화 되었기 때문에 output을 string으로 변경해보았다. public class BoardController { // ModelAndView 방식 @RequestMapping("/board.do") public ModelAndView board2(BoardVO bVO, BoardDAO bDAO,HttpServletRequest request, ModelAndView .. 이전 1 2 3 4 5 6 ··· 16 다음