Spring공부 (29) 썸네일형 리스트형 SQL SQL(Structured Query Language)은 관계형 데이터베이스 관리 시스템(RDBMS)에서 데이터를 관리하고 조회하기 위한 언어입니다. RDBMS는 데이터를 테이블 형태로 구조화하고, SQL은 이러한 테이블에서 데이터를 추가, 수정, 삭제, 조회하는데 사용됩니다. SQL의 주요 기능은 다음과 같습니다: 데이터 정의 언어 (DDL - Data Definition Language): CREATE: 데이터베이스, 테이블, 인덱스 등을 생성합니다. ALTER: 이미 존재하는 데이터베이스나 테이블을 수정합니다. DROP: 데이터베이스, 테이블, 인덱스 등을 삭제합니다. 데이터 조작 언어 (DML - Data Manipulation Language): SELECT: 데이터베이스에서 정보를 조회합니다... Database Database 개념 Database를 한 마디로 정의하면 ‘데이터의 집합’ 이라고 할 수 있습니다. DB는 우리가 매일 사용하는 카톡 메시지, 인스타그램의 사진등의 정보를 저장하고 관리해 줍니다. DBMS DBMS 는 ‘Database Management System’ 의 약자로 Database를 관리하고 운영하는 소프트웨어를 의미합니다. RDBMS RDBMS는 ‘Relational DBMS’의 약자로 관계형 데이터베이스라고 불립니다. RDBMS는 테이블(table)이라는 최소 단위로 구성되며, 이 테이블은 열(column)과 행(row)으로 이루어져 있습니다. 테이블간 FK(Foreign Key)를 통해 다른 데이터를 조합해서 함께 볼수 있다라는 장점이 있습니다. 메모장 - Update, Delete 구현하기 Update 구현 @PutMapping("/memos/{id}") public Long updateMemo(@PathVariable Long id, @RequestBody MemoRequestDto requestDto) { // 해당 메모가 DB에 존재하는지 확인 if(memoList.containsKey(id)) { // 해당 메모 가져오기 Memo memo = memoList.get(id); // memo 수정 memo.update(requestDto); return memo.getId(); } else { throw new IllegalArgumentException("선택한 메모는 존재하지 않습니다."); } } Memo 클래스에 수정하는 기능의 메서드 update 생성 public void up.. 메모장- Create,Read 구현하기 Create 구현 1. 메모 데이터를 저장할 Memo 클래스 생성 package com.sparta.memo.entity; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; @Getter @Setter @NoArgsConstructor public class Memo { private Long id; private String username; private String contents; } 2. 메모 생성하기 API를 받을 수 있는 Controller와 메서드 생성 @RestController @RequestMapping("/api") public class MemoController { @PostMapping("/.. 메모장 프로젝트 설계 메모장 기능 설계 접속 하자마자 메모 전체 목록 조회하기 GET API 사용해서 메모 목록 불러오기 메모 생성하기 POST API 사용해서 메모 신규 생성하기 생성된 메모 반환 메모 변경하기 PUT API 사용해서 메모 내용 변경하기 사용자가 클릭한 메모가 DB에 존재하는지 확인하기 해당 메모 내용 변경 메모 삭제하기 DELETE API 사용해서 메모 삭제하기 사용자가 삭제하려는 메모가 DB에 존재하는지 확인하기 DB에서 해당 메모 삭제 API 테이블 Jackson이란? Jackson은 JSON 데이터 구조를 처리해주는 라이브러리 입니다. Object를 JSON 타입의 String으로 변환해줄 수 있습니다. JSON 타입의 String을 Object로 변환해줄 수 있습니다. Spring은 3.0버전 이후로 Jacskon과 관련된 API를 제공함으로써, 우리가 직접 소스 코드를 작성하여 JSON 데이터를 처리하지 않아도 자동으로 처리해주고 있습니다. 따라서 SpringBoot의 starter-web에서는 default로 Jackson 관련 라이브러리들을 제공하고 있습니다. 직접 JSON 데이터를 처리해야할 때는 Jackson 라이브러리의 ObjectMapper를 사용할 수 있습니다. Controller Controller Code Spring MVC는 효율적인 API 처리를 위해 Front Controller 패턴을 만들어냈습니다. API 마다 파일을 만들 필요 없습니다. 보통 하나의 Contoller 에 모든 API를 넣지는 않습니다. 유사한 성격의 API 를 하나의 Controller 로 관리합니다. 메서드 이름도 내 마음대로 설정 가능합니다. (단, 클래스 내의 중복메서드명 불가) @Controller @RequestMapping("/user") public class UserController { @GetMapping("/login") public String login() { // ... } @GetMapping("/logout") public String logout() { // ... } .. Spring MVC란? MVC란 Model-View-Controller의 약자로, 소프트웨어 디자인 패턴 중 하나입니다. MVC 패턴은 소프트웨어를 구성하는 요소들을 Model, View, Controller로 구분하여 각각의 역할을 분리합니다. Model 데이터와 비즈니스 로직을 담당합니다. 데이터베이스와 연동하여 데이터를 저장하고 불러오는 등의 작업을 수행합니다. View 사용자 인터페이스를 담당합니다. 사용자가 보는 화면과 버튼, 폼 등을 디자인하고 구현합니다. Controller Model과 View 사이의 상호작용을 조정하고 제어합니다. 사용자의 입력을 받아 Model에 전달하고, Model의 결과를 바탕으로 View를 업데이트합니다. Spring MVC란? Spring Web MVC는 Servlet API를 기반으로.. 이전 1 2 3 4 다음