728x90

Study 182

MVC 기반 온라인 쇼핑 카트 구현하기: DB 설계

개념적 설계  물리적 모델링  테이블 스키마:use toy2;CREATE TABLE customer ( -- 고객테이블customer_id VARCHAR(50) NOT NULL, -- 고객아이디password VARCHAR(50) NOT NULL, -- 비밀번호customer_name VARCHAR(45) NOT NULL, -- 고객이름age INT, -- 나이rating VARCHAR(20) NOT NULL, -- 등급occupation VARCHAR(30), -- 직업reserves INT DEFAULT 0, -- 적립금PRIMARY KEY (customer_id));CREATE TABLE product ( -- 제품테이블product_number INT AUTO_INCREMENT, -- 제품번호pr..

JAVA/프로젝트 2024.05.05

퀴즈 9회차

배치 프로그램이란데이터 처리에 대해 즉시성이 요구되지 않을 때 작업을 모아 일괄 처리하는 프로그램. 컴퓨터가 주기적으로 대량의 반복적인 데이터 작업을 완료하기 위해 사용하는 방식 급여, 재고 처리, 정산 시스템, 대규모 랭킹 시스템, 약관 메일 시스템, 주문 배송 요청 시스템 등에서 배치 프로그램이 쓰일 수 있으며실시간 채팅 시스템은 배치 프로그램으로 적절치 못하다. ex) 하루가 끝날 때나 야간과 같이 컴퓨팅 리소스를 더 일반적으로 사용할 수 있는 사용량이 적은 시간에 이러한 태스크를 배치로 처리합니다. 하루 종일 주문을 수신하는 전자 상거래 시스템을 예로 들어 보겠습니다. 시스템에서 주문을 그때그때 처리하는 대신 하루가 끝날 때 모든 주문을 수집하고 주문 처리 팀과 하나의 배치로 공유할 수 있습니다...

기타 2024.05.02

Spring Boot: JPA 연관관계 설정하기 -2, 최신순 정렬, 삭제된 게시글 제외 하고 조회

Post와 Reply 도 1: N 관계이다. 연관 관계를 만들어 줘야 한다. PostEntity 수정@OneToMany(mappedBy = "post")private List replyList = List.of();// 빈 리스트를 기본으로 PostService 수정 //답변 같이 보여주기.// @OneToMany를 통해 자동으로 list를 보내 주므로 필요없어짐//var replyList = replyService.findAllByPostId(it.getId());//it.setReplyList(replyList);  ReplyEntity 추가 :@ManyToOne@ToString.Exclude@JsonIgnoreprivate PostEntity post; //PostEntity @OneToMany(..

JAVA/프로젝트 2024.04.27

Spring Boot: JPA 연관관계 설정하기, Dto, Converter

보드와 포스트는 1:N 관계 (게시판에 여러개의 게시글이 올라올 수 있으니)포스트와 리플라이는 1:N 관계 (게시글에 여러개의 댓글이 달릴 수 있다. )  JPA를 사용하게 되면public List findAllByPostId( Long postId){ return replyRepository.findAllByPostIdAndStatusOrderById(postId, "REGISTERED");}이러한 부분을 쉽게 오브젝트, ORM으로  활용이 가능하다.  = 객체 지향적으로 데이터베이스를 컨트롤 하는 것이 가능해진다.  ORM? 객체 관계 매핑. JPA는 자바 클래스와 데이터의 테이블 간의 매핑을 지원한다. 이를 통해 복잡한 쿼리를 작성하지 않고 객체를 통해 데이터를 조작할 수 있다.  BoardC..

JAVA/프로젝트 2024.04.27

Spring Boot: End point 개발 3, 게시글과 게시글에 달린 답변 같이 보기

게시글(post)에 postid, password를 입력하고 들어가면 밑에 달려있는 댓글을 같이 보는 기능 개발,관리자는 post 에 대한  댓글을 달기 위한 작업 개발.reply만 가져오는 것이 아니라 사용자의 원본 글의 리스트로 내려갈 수 있도록 개발 입력 받는 댓글 모델 생성 package com.example.myboard.reply.model;import com.fasterxml.jackson.databind.PropertyNamingStrategies;import com.fasterxml.jackson.databind.annotation.JsonNaming;import jakarta.validation.constraints.NotBlank;import jakarta.validation.cons..

JAVA/프로젝트 2024.04.27

Spring Boot: End point 개발 2, 조회, 개별 조회, 삭제

생성 create 했다면보는 기능view, 삭제 delete 도 필요하다.  view(아이디별 조회): 익명 게시판이기 때문에 @GetMapping(),@PathVariable로 id를 받아서 조회하는 것은 불가능하다.작성할 때 입력한 비밀번호가 입력되어야 열람 가능한 형태. @PostMapping("/view") 로 처리해주고path로 못받으니 body로 받아야 한다. 비밀번호와 아이디를 입력 받을 또 다른 모델이 필요하다.  model - PostViewRequest 클래스 생성보기 위해선 postId, password을 입력해야 한다.package com.example.myboard.post.model;import com.fasterxml.jackson.databind.PropertyNamingSt..

JAVA/프로젝트 2024.04.27

Spring Boot : 게시판 End point 개발. board와 post 생성

End point?웹에서 클라이언트가 서버에게 요청을 보낼 수 있는 특정 URL, URI 경로API가 서버에서 리소스에 접근할 수 있도록 가능하게 하는 URL이다.   1.글 작성하는 부분작성자 userName김어쩌구비밀번호 password1234제목 title문의 합니다.문의 내용 content문의합니다. 현재 ~~~~입니다.  2. 게시판에 처음 진입하면 들어오게 되는 부분번호 id 제목 title작성일 postedAt작성자userName1문의 합니다.2024-04-26김어쩌구2상세 내역 문의합니다.2024-04-27김이박   1. 글 작성 부분 개발 Board :게시판을 만들기 위해선 게시판 만들어주는 api 필요 : board pacakage - controller package - BoardCo..

JAVA/프로젝트 2024.04.26

Spring Boot : Entity 개발, DB 테이블과 연동

Entity? Repository?둘 다 DB 관련 Entity: DB 특정 테이블과 대응함. db 테이블 각 열에 해당하는 필드를 가진다.Repository : DB와 상호작용 함. 엔티티 객체 CRUD 작업 수행하는 메서드를 제공한다.    board, post, reply 패키지를 생성, 각각 패키지에 db라는 패키지를 만들어준다. board.db 에 BoardEntity 클래스 생성package com.example.myboard.board.db;import jakarta.persistence.Entity;import jakarta.persistence.GeneratedValue;import jakarta.persistence.GenerationType;import jakarta.persisten..

JAVA/프로젝트 2024.04.26

Spring Boot: 게시판 설계, ERD Diagram, DB 연동

게시판 board- 글post - 댓글 reply 게시판과 글은 1:N 관계글과 댓글은 1:N 관계 Language : Java17Framework: Spring Boot 3.1.11DBMS: MY SQL 5.7.37DB Library: JPATool: Intellij 프로젝트 오픈 후, application.properties -> application.yaml 으로 변경 후 DB에 맞게 설정해준다. spring: jpa: show-sql: true properties: format_sql: true dialect: org.hibernate.dialect.MySQL8Dialect hibernate: ddl-auto: validate datasource: ..

JAVA/프로젝트 2024.04.26

퀴즈 8회 오답노트

멱등성이란?같은 요청이 여러번들어와도 (여러번 조회해도) 결과가 변하지 않는 특성. GET: Read. 클라이언트가 서버에게 리소스를 요청하기 위한 메소드. 동일한 GET 요청을 여러 번 보내더라도 리소스에는 영향을 미치지 않고 같은 응답을 받을 수 있으므로 멱등하다. PUT: Craete, Update. 없으면 만들고, 있으면 업데이트 한다. 동일한 위치에 동일한 데이터를 업데이트 하려고 할 때 사용되므로 몇 번 요청해도 동일 결과를 얻을 수 있다. 멱등하다. 클라이언트가 리소스의 위치를 명시적으로 지정한다.  DELETE : 삭제. 몇 번 요청을 하든 게시글이 항상 삭제된 상태를 유지하므로 멱등성을 가진다. POST: Create. 새로운 리소스를 생성한다. 서버가 리소스의 위치를 결정하고 응답으로 ..

기타 2024.04.26
728x90
반응형