분류 전체보기 259

[Oracle] LISTAGG - 여러 행을 하나로 묶어 조회하기

위의 ROOM_JOIN 테이블을 보면 JOIN_NAME 컬럼과 USER_NO 컬럼, ROOM_NO 컬럼이 있다. 여러 행들을 하나로 묶어서 보여주고 싶을 땐, LISTAGG(합칠 컬럼, '구분자') WITHIN GROUP (ORDER BY 합칠 컬럼) "별칭" FROM 해당 테이블 GROUP BY 합칠 컬럼에 대한 기준이 되는 컬럼; 이때, GROUP BY는 무조건 작성해야 한다. 만약 ROOM_NO을 기준으로 USER_NO 컬럼의 행들을 하나로 묶고 싶다면? SELECT LISTAGG(USER_NO, ', ') WITHIN GROUP (ORDER BY USER_NO) "USER_NO" FROM ROOM_JOIN GROUP BY ROOM_NO; ◎ 실행 결과 만약 SELECT절에 ROOM_NO를 추가하고..

Database/Oracle 2022.07.10

[Spring] VO - lombok

* lombok : 코드 자동 생성 라이브러리 - 반복적인 setter, getter, toString 등의 메소드 작성 코드를 줄여준다. @NoArgsConstructor // 기본 생성자 @AllArgsConstructor // 모든 필드를 매개변수로 갖는 생성자 @Setter @Getter @ToString @EqualsAndHashCode // equals, hashcode @Data // 위에 있는 모든 메소드를 포함하는 어노테이션 * lombok 설치 방법 1) 라이브러리를 다운받은 후 적용시킨다.(Maven pom.xml) 2) 다운로드된 jar 파일을 찾아서 설치한다.(작업할 IDE 선택) 3) IDE를 재실행시킨다. * lombok 사용 시 주의사항 1. uName, bTitle과 같이 ..

IDE/Spring 2022.07.04

[Spring] root-context.xml

* root-context.xml 문서란? : 서버 구동과 동시에 web.xml 파일을 거쳐서 바로 로딩되는 문서로, 서버 구동과 동시에 세팅해야 하는 내용들을 작성한다. 주로 DB 연결이나 트랜잭션 처리 등의 내용을 작성한다. * DB 연결 설정 3단계 · 1단계: DB 연결을 위한 도구를 설정한다. · 2단계: MyBatis Spring에서 제공하는 SQL 명령어 실행을 위한 도구를 등록한다. · 3단계: SQL 구문을 실행하기 위한 템플릿을 제공하는 도구를 등록한다. - constructor-arg: 생성자를 주입한다. * 파일 업르도 bean 등록 - property: 주입 - maxUploadSize: 한번에 전체 업로드되는 파일의 총 용량을 설정한다. - maxInMemorySize(maxUp..

IDE/Spring 2022.07.03

[MyBatis] mapper.xml

select 구문 insert 구문 mapper [DML문일 경우] (, 도 동일하다.) - parameterType 속성: 전달받을 값이 없으면 생략 가능하다. - 는 resultType 또는 resultMap으로 결과값에 대한 타입을 반드시 지정해야 한다. - 실행 결과가 처리된 행의 개수(int 타입)이기 때문에 resultType/resultMap에 대한 속성이 필요하지 않다. - 기존에 사용하던 위치홀더가 아니라 #{필드명/변수명/map의값}으로 작성한다. resultMap ResultSet으로부터 조회된 컬럼값을 하나씩 뽑아 지정한 VO 객체에 각 필드를 담는 JDBC 코드를 줄여준다. ex) member.setMemberId(rset.getString("MEMBER_ID")); . .

[MyBatis] EncodingFilter

encodingFilter는 기존 servlet에서 request.setChracterEncoding("UTF-8");를 매번 작성해서 인코딩을 거쳐야 하는 불편함을 없애기 위해 필요하다. common 폴더에 filter 폴더를 만든 후 해당 폴더에 EncodingFilter 파일을 생성한다. @WebFilter("") - 전체에 대해 필터를 할 땐 /* 를 작성한다. - 확장자를 정해서 필터를 할 땐 *.확장자(ex. *.me)를 작성한다. - 개별적으로 필터를 할 땐 매핑 주소(ex. example.ex 또는 /example.jsp)를 작성한다.

[Spring] web.xml - encodingFilter 등록

* 필터란? : 모든 요청들을 처리하기 전에 공통적으로 필요로 하는 기능들을 controller가 클라이언트의 요청을 받기 전 먼저 수행하게 한다. · encodingFilter는 Spring에서 제공해준다. → org.springframework.web.filter.CharacterEncodingFilter · 필터를 등록할 때 filter 태그와 filter-mapping 태그를 같이 사용한다. · filter-name 태그로 filter명을 지정한다. encodingFilter org.springframework.web.filter.CharacterEncodingFilter encoding UTF-8 forceEncoding true encodingFilter /*

IDE/Spring 2022.06.23

[Spring] pom.xml

pom.xml의 구조(프로젝트에 대한 정보) 4.0.0 com.tistory spring springProject war 1.0.0-BUILD-SNAPSHOT - groupId: 2번째 레벨까지의 패키지 구조 - artifactId: 3번째 레벨의 패키지명(프로그램명) - packaing: 배포할 때 압축형식 properties 이 문서에서 사용할 환경설정 내용들을 담은 변수로, ${변수명}으로 해당 값을 불러올 수 있다. 1.8 5.3.20 1.6.10 1.6.6 - java-version은 1.8 버전로 변경한다. - org.springframework-version은 5.3.20 버전으로 변경한다. 외부 repository 기본 저장소에서 다운받지 못할 경우에 직접 다운받고자 하는 저장소를 등록한다..

IDE/Spring 2022.06.15