프로젝트 Readme를 쓰기위해 ERD명세서를 만들고 있다. ERD명세서는 프로젝트 기획할 때 한번, 최종 발표 전 한 번, 그리고 지금 총 3번째 만드는 중인데, 그릴 때 마다 매번 헷갈린다. 또한 매번 그릴때마다 과거에 틀렸던 점을 발견하고 있다. Diagram 자체의 표기법이 완전히 정확하지 않더라도 개발에 큰 문제는 없었지만 리드미에 올리는 ERD는 정확해야 하므로 천천히 정리해본다.* 일반적인 글과 다르게, 해당 글의 순서는 ERD Cloud에서 ERD를 그릴 때 선택하는 논리적 순서대로, 관계차수(Cardinality ,1:1, 1:N, M:N) -> 참여도(mandatory/optional) -> Relationship(식별/비식별 관계)순으로 다루겠다. 0. PrerequisiteE..
Back-End
브라우저에서 Input 창에 데이터를 입력 후 "추가"와 같은 버튼을 누르면 자바를 통해서 DB에 데이터가 추가되는 예제. 프론트단은 리액트, 백엔드단은 인텔리제이와 Spring, DB는 MySQL을 기준으로 쓰여졌습니다. 1.요약 프로트엔드 : 이름, 비밀번호, 전화번호를 입력하고 '추가하기' 버튼을 누르면 서버의 "/user" 엔드포인트로 Post 요청 백엔드 서버에서의 요청 처리 : 컨트롤러 클래스의 @PostMapping : POST 요청 처리. @RequestBody : JSON데이터를 Dto객체로 변환 및 매개변수로 받음 DB 저장 및 쿼리 실행 Mapper 인터페이스의 메서드 호출(매개변수:Dto) -> .xml의 인터페이스 구현체(Mybatis)를 통해 DB에 접근, insert SQL문을..
1.예제 개요 클라이언트가 카테고리에 맞는 피드만을 출력하길 원함. 카테고리 이름(ex. "한식" , "일식" 등 )을 서버에 요청(Request)시, 서버는 서버에 저장된 피드의 데이터 중, 클라이언트가 요청한 카테고리와 일치하는 피드ID를 응답(Response) 하는 코드를 작성. 2.전체 코드 @WebServlet("/category") public class CategoryList extends HttpServlet { private static final long serialVersionUID = 1L; private String[] categoryArray = { "한식", "체험관광", "카페", "자연명소", "양식", "문화예술" }; private class Feed { private ..
국비 Spring 첫 수업 내용.SpringBusinessLayer(Layered Architecture)효율적인 개발과 유지보수를 위해 어플리케이션을 계층화하여 개발할 수 있다. 명확한 역할을 가지도록 계층화 함으로써 유지보수성, 재사용성, 확장성이 증대되고 복잡해지지 않는다. 이러한 패턴을 공부하기위해서 패키지와 클래스를 분리한 것! !여기서 Presentation Layer의 Controller, 그리고 Service Layer, Repository Layer(=Interface / DB와 연결됨), DTO(Data Transfer Object)에 주목해보겠다.ControllerSpring MVC 구성요소.클라이언트로부터의 HTTP 요청을 받아 Service Layer 호출(이용) -> 응답 반환하..
먼저, JDBC를 이용해 MySQL과 Java를 연결하는 방법은 아래 게시글을 참조해주세요. mySQL과 Java 연결하기(JDBC 라이브러리)1. JDBC란? JDBC(Java Database Connectivity)는 Java 기반 애플리케이션의 데이터를 데이터베이스에 저장 및 업데이트하거나, 데이터베이스에 저장된 데이터를 Java에서 사용할 수 있도록 하는 자바 API. JDBCdogfoot-er.tistory.com1.바로 실전으로! 1.1 CREATE TABLE (테이블 만들기)package main;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import com.mysql.cj.xde..
1. JDBC란? JDBC(Java Database Connectivity)는 Java 기반 애플리케이션의 데이터를 데이터베이스에 저장 및 업데이트하거나, 데이터베이스에 저장된 데이터를 Java에서 사용할 수 있도록 하는 자바 API. JDBC는 Java 애플리케이션에서 데이터베이스에 접근하기 위해 JDBC API를 사용하여 데이터베이스에 연동할 수 있으며, 데이터베이스에서 자료를 쿼리(Query)하거나 업데이트하는 방법을 제공한다. 1.2 JDBC 라이브러리 추가 (on Eclipse) 먼저 임의로 프로젝트,패키지를 만들어줍니다. mySQL과 자바를 연결해주는 라이브러리 'JDBC'를 사용하기 위해, 먼저 메이븐프로젝트로 바꾸어줍니다. 프로젝트 우클릭 -> Configure -> convert to M..
1.db란? 데이터베이스(DB: database) : 통합(Integrate)하여 관리(Management)되는 데이터의 집합체 여기서, -통합? 여러 업무에 여러 사용자가 '하나의' 데이터 베이스 사용. -관리? 1)중복된 데이터를 없애고 자료를 구조화 -> 효율적인 처리 데이터베이스는 응용 프로그램과는 독립되어있어, 다른 별도의 미들웨어(=DBMS)에 의해 관리된다. 1.2-DBMS는 뭔데? (+RDBMS) :DataBase Management System = 데이터베이스 관리 시스템 즉 데이터베이스를 관리 / 공유하며 사용할 수 있는 환경을 제공하는 소프트웨어. mySQL은 이런 DBMS 중 하나! C언어, C++, JAVA, PHP 등 여러 프로그래밍 언어를 위한 다양한 API를 제공하는 장점이 ..
1.언제 어떻게 오류가? mySQL에서 new functions, 새로운 함수를 만드려는데 아래와같은 오류가 발생했다. DELIMITER ; ERROR 1418: This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators 2.해결방법 show global variables like 'log_bin_trust_function_creators'; - off인지 on인지 확인하는 방법. SET GlOBAL log_bin_trust_func..