Spring

    [Spring] Day16 결제 API (Note)

    Spring Day15 결제 API 2022/04/07 1. 카카오 페이 문서 보고 직접 자바로 개발 (https://developers.kakao.com/docs/latest/ko/kakaopay/common ) 2. i’mport 결제 api를 제공해주는 것 이용 1. 카카오 페이 (자바) 요청 URL 정리 URL Method 설명 /kakao/kakaoPay GET 결제 폼페이지 /kakao/kakaoPay POST 카카오 결제 요청 카카오 api에서 지정한 요청 주소 http://kapi.kakao.com//v1/payment/ready 카카오 결제 준비 요청 http://kapi.kakao.com//v1/payment/approve 카카오 결제 승인 요청 1) 스프링에서 HTTP 요청할 때 사용..

    [Spring] Day13 (Code): 댓글

    댓글 테이블 생성 쿼리문 --댓글 테이블 create table reply( rno number, bno number not null, reply varchar2(1000) not null, replyer varchar2(50) not null, replyDate date default sysdate, updateDate date default sysdate ); --pk추가 alter table reply add constraint pk_reply primary key(rno); --외래키 추가 alter table reply add constraint fk_reply foreign key(bno) references board(bno); desc reply; --댓글 시퀀스 create sequenc..

    [Spring] Day13 (Note): 댓글

    2022/4/1 댓글 Ajax 1. 테이블 reply rno: 댓글 고유 번호 -> 시퀀스 bno: 댓글이 달리는 고유 게시물 번호 reply: 댓글 내용 replyer: 댓글 작성자 replyDate: 댓글 작성일 updateDate: 댓글 수정일 2. ReplyController 계획 작업 URL Method 등록 /replies/new POST 조회 /replies/{rno} GET 삭제 /replies/{rno} DELETE 수정 /replies/{rno} PUT *전체글 페이징 처리 /replies/pages/{bno}/{page} GET //11:30 pk 기준으로 작성해주는 게 좋다?? 3. JSON으로 데이터 전달 //1:17 java 1234 입력 serialize() : URL 쿼리 스..

    [Spring] Day12 (Code2): pom.xml에 REST JSON 추가, REST JSON

    pom.xml에 REST JSON 추가 com.fasterxml.jackson.core jackson-databind 2.13.1 com.fasterxml.jackson.dataformat jackson-dataformat-xml 2.13.1 com.google.code.gson gson 2.8.8 package com.board.controller; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.stream.Collectors; import java.util.stream.IntStream; import org.springframework.http.HttpStatus; import org.spr..

    [Spring] Day12 (Code1): 게시물 검색

    1. 검색 기능을 추가했으므로 이제 Criteria에 검색 조건 키워드 담을 변수와 검색어를 담을 키워드가 필요함. getTypeArr은 중복 조건으로 검색했을 때 키워드를 하나하나 떼어주는 역할. Null 체크도 동시에 됨. null일 경우에 에러가 안 생기게끔 기본 배열로 처리 package com.board.domain; import org.springframework.web.util.UriComponentsBuilder; import lombok.Getter; import lombok.Setter; import lombok.ToString; @Getter @Setter @ToString public class Criteria { //페이징 처리시 부수적으로 필요한 정보들 담아줄 객체 private..

    [Spring] Day12 (Note): 게시판 검색, REST

    2022/3/31 게시판 검색 1. 검색 조건 *단일 조건 : type이라는 파라미터로 밑에 키워드가 넘어옴 제목 title: T 검색 키워드 내용 content: C 작성자 writer: W select bno, title, content, writer, regdate, updatedate from (select row r, bno, title, content, writer, regdate, updatedate from (select/*+ INDEX_DESC(board pk_board)*/ bno, title, content, writer, regdate, updatedate from board where ${column} like ‘%||#{keyword}%’ //변경되는 부분) where rownu..

    [Spring] Day11 (Code): 페이징 처리

    1. Criteria.java package com.board.domain; import org.springframework.web.util.UriComponentsBuilder; import lombok.Getter; import lombok.Setter; import lombok.ToString; @Getter @Setter @ToString public class Criteria { //페이징 처리시 부수적으로 필요한 정보들 담아줄 객체 private int pageNum; //페이지 번호 private int listQty; //한 페이지에 보여줄 개시물 개수 public Criteria() { this(1,10); //1 페이지 보여주게끔 } public Criteria (int pageNum,..

    [Spring] Day11 (Note): 페이징 처리

    2022/3/30 페이징 처리 웹 페이지 개발할 때 중요한 것: 최소한의 필요한 데이터만 빨리 찾아서 빠르게 가져오는 것. 동시에 여러 명의 사용자가 많은 데이터를 요청하면 속도가 느려질 수밖에 없다. 데이터가 적은 경우가 아니면 오더 바이는 속도 때문에 사용을 자제. 인덱스를 사용하는 게 좋다. *order by의 문제점: 성능 저하. -> 해결법: 인덱스를 사용. 인덱스를 이용해서 정렬을 생략하는 방법. 인덱스는 이미 정렬된 구조를 가지고 있다. 1. Oracle에서의 인덱스 *OLTL: On-Line Trasaction Processing = insert, update, delete가 실시간으로 자주 발생하는 것. *OLAP: insert, update, delete가 별로 사용될 일이 없는 것. ..

    [Spring] Day10 (Code)

    1. controller package com.board.controller; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframe..

    [Spring] Day10 (Note): Ajax, CRUD 게시판

    2022/3/29 Ajax Asynchronous JavaScript and XML : 비동기 방식의 JS와 XML을 가리킴 동기방식 : 서버에 신호를 보냈을 때 응답이 돌아와야 다음 동작 수행가능 비동기 방식 : 신호를 보냈을 때 응답 상태와 상관없이 다음 동작 수행가능 사용 이유 : 화면 전환 없이 클라이언트와 서버 간의 XML, JSON, 텍스트, HTML 등 정보 교환하기 위해 *jQuery 라이브러리 배치하여 사용 (제이쿼리 가지고 에이젝스 통신) Ajax 관련 메서드 1. load() 사용자가 지정한 URL 주소에 데이터를 전송하고 외부 콘텐츠를 요청하여 가져올 때 사용. 요청한 컨텐츠를 이용하여 선택한 요소의 내용 변경 가능 $(“요소 선택”).load(url, data, 콜백 함수) url..