일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- include액션태그
- Linux셋팅
- InputDialog
- 상관 서브 쿼리
- 아이디중복
- include지시자
- first-of-child
- interrupted()
- include 지시자
- ObjectInputStream
- MemoryStream
- StringWriter
- 스레드그룸
- char[] String 형변환
- Daemon()
- first-child
- ID중복
- 표현 언어
- 동기화
- 메모리스트림
- sleep()메소드
- String char[] 형변환
- Linux세팅
- interrupt()
- 상관서브쿼리
- 리눅스세팅
- ThreadGroup()
- isinterrupted()
- 리눅스셋팅
- StringReader
- Today
- Total
목록Spring (31)
다연이네
ex05 첨부파일을 서버에 전송하는 방식 1) 태그 이용 2) Ajax 이용 초기설정 pom.xml 4.0.0 org.zerock controller ex05 war 1.0.0-BUILD-SNAPSHOT 1.8 5.0.7.RELEASE 1.9.0 1.7.25 org.springframework spring-context ${org.springframework-version} commons-logging commons-logging org.springframework spring-webmvc ${org.springframework-version} org.aspectj aspectjrt ${org.aspectj-version} org.slf4j slf4j-api ${org.slf4j-version} org...
1. 쿼리 실행 alter table tbl_board add (replycnt number default 0); select * from tbl_board; update tbl_board set replycnt = ( select count(rno) from tbl_reply where tbl_reply.bno = tbl_board.bno ); commit; 댓글수에 대한 컬럼을 추가하고, 기존에 댓글이 있는 게시글의 경우 그 댓글 수로 update하는 작업 2. BoardVO 추가 private int replyCnt; //추가 컬럼을 추가했으니 필드도 추가해주자 3. BoardMapper.java //@Param 알고 있어야 public void updateReplyCnt(@Param("bno") ..
AOP AOP는 '관심사의 분리'를 추구한다. 예를 들어 나눗셈을 구현한다고 하면 '핵심 로직'은 두 개의 숫자를 나누는 것이지만, '주변 로직'은 0을 나누는 것ㅇ이 아닌지 등을 체크하는 것이다. AOP는 과거에 개발자가 작성했던 '관심사 + 비즈니스 로직'을 분리해서 별도의 코드로 작성하도록 하고, 실행할 때 이를 결합하는 방식으로 접근한다. 실제 실행은 결합된 상태의 코드가 실행되므로 개발자들은 핵심 비즈니스 로직에만 근거하여 코드를 작성하고, 나머지는 어떤 관심사들과 결합할 것인지를 설정하는 것 만으로 모든 개발을 마칠 수 있다. 예제 1. pom.xml에 스프링 버전과 AOP 버전을 수정, 라이브러리 추가 - 스프링AOP는 AspectJ라는 라이브러리의 도움을 많이 받음 4.0.0 org.zer..
ex03_02 1. properties 파일 존재 여부 확인 2. ojdbc.jar 확인 3. developer create table tbl_reply ( rno number(10,0), bno number(10,0) not null, reply varchar2(1000) not null, replyer varchar2(50) not null, replyDate date default sysdate, updateDate date default sysdate ); create sequence seq_reply; alter table tbl_reply add constraint pk_reply primary key (rno); alter table tbl_reply add constraint fk_repl..
앱에서 서버에 기대하는 것은 완성된 HTML이 아니라 그저 자신에게 필요한 순수한 데이터만을 요구하게 되어 있다. 이처럼 서버의 역할은 점점 더 순수하게 데이터에 대한 처리를 목적으로 하는 형태로 진화하고 있다. - URL : 이 곳에 가면 당신이 원하는 것을 찾을 수 있습니다. (URI의 하위개념) - URI : 당신이 원하는 주소는 여기입니다. REST는 하나의 URI는 하나의 고유한 리소스를 대표하도록 설계된다는 개념에 전송방식을 결합해서 원하는 작업을 지정한다. URI + GET/POST/PUT/DELETE... REST관련 어노테이션들 @RestController Controller가 REST 방식을 처리하기 위한 것임을 명시 @ResponseBody 일반적인 JSP와 같은 뷰로 전달되는게 아니..
앞의 페이징 처리에 이어서 검색 기능 추가 p325 게시물의 검색 기능은 다음과 같이 분류가 가능하다. - 제목/내용/작성자와 같이 단일 항목 검색 - 제목,내용/제목,작성자 등 다중 항목 검색 ** AND와 OR이 섞여있는 SQL을 작성할 때는 우선순위 연산자인 '()'를 이용해 OR 조건을 처리해야한다. MyBatis의 동적 SQL MyBatis는 동적 태그 기능을 통해서 SQL을 파라미터들의 조건에 맞게 조정할 수 있는 기능을 제공한다. MyBatis의 동적 태그는 약간의 구문을 이용해 전달되는 파라미터를 가공해서 경우에 따라 다른 SQL을 만들어 실행할 수 있다. - MyBatis의 동적 태그들 if / choose(when, otherwise) / trim(where, set) / foreach..
ex02_02 1. 페이징 처리 1. 페이징 처리에 필요한 파라미터 1) 현재 페이지 번호 2)한 페이지당 몇개의 데이터를 보여줄 것인지 => 위 데이터들을 하나의 객체로 묶어서 클래스를 만들자 (확장성을 위해) org.zerock.domain.Criteria 클래스 추가 package org.zerock.domain; import org.springframework.web.util.UriComponentsBuilder; import lombok.Getter; import lombok.Setter; import lombok.ToString; @ToString @Setter @Getter public class Criteria { private int pageNum; private int amount; /..
보호되어 있는 글입니다.