WEB개발(42)
-
ORM - JPA
ORM Object Relational Mapping Object: 객체 지향 언어의 객체 Relational: 관계형 데이터베이스의 관계 Mapping: 객체 지향 언어의 객체와 관계형 데이터를 서로 변환 객체와 관계형 데이터베이스의 테이블을 매핑하여 데이퍼를 객체화하는 기술 Persistence Framework의 일종 SQL문을 직접 작성하지 않음 ex) JPA, Hibernate 등 JPA Java Persistence API JPA가 개발자 대신 적합한 SQL을 생성하고 DB에 전달하며, 객체를 자동으로 Mapping 해주기 때문에 SQL을 직접 작성할 필요가 없음 ex) Hibernate(JPA를 구현한 대표적 오픈소스) JPA의 장단점 장점 1. 생산성이 뛰어나며 유지보수가 용이함 2. DB..
2023.03.27 -
Lombok
Lombok Java의 라이브러리로 반복되는 메서드를 Annotation을 사용해서 자동으로 작성해주는 라이브러리 (= 코드 다이어터) Lombok 사용하기 ex) Getter, Setter : 메서드를 따로 작성하지 않고 어노테이션으로 getter, setter 작성 가능 @Getter @Setter public class User { private int id; private String name; private String nickname; }
2023.03.24 -
Persistence Framework와 Mybatis
JDBC Java Database Connectivity Java와 DB를 연결해주는 통로로, Java에서 데이터베이스에 접근할 수 있도록 도와주는 자바 API Persistence Framework 영속성(Persistence) : 프로그램이 종료되어도 데이터가 사라지지 않고 어딘가에 저장 Java에서는 JDBC를 통해 영속성을 부여할 수 있음 그러나, JDBC 프로그래밍은 번거로운 매핑 작업을 개발자가 직접 수행해야 한다는 문제가 존재함 이러한 문제를 해결하기 위한 것이 Persistence Framework => 개발자가 직접 번거로운 작업을 수행하지 않고 영속성 부여 가능 SQL Mapper와 ORM이 이에 해당함 SQL Mapper Object와 SQL의 필드를 매핑해 데이터를 객체화하는 기술 ..
2023.03.24 -
Spring에서 REST API
API(GET, POST) 1. GET 1.1. @GetMapping("url"): Controller에서 Get method의 URL을 받을 때 사용 @GetMapping("url주소") public String 함수명() { return "템플릿 파일명"; } 1.2. 클라이언트에서 보낸 데이터를 받는 방법 @RequestParam: 쿼리스트링 값(?key=value)을 받음 @PathVariable: url-path 값을 받음 // 1. @RequestParam 예시 // 1-1. key값과 변수명을 같게 설정 @GetMapping("url주소") public String 함수명(@RequestParam String key) { return "템플렛 파일명"; } // 1-2. key값과 변수명을 ..
2023.03.22 -
Spring(DTO&VO, Bean, Annotation)
DTO Data Transfer Object 계층 간 데이터 교환을 위해 사용하는 객체 다른 로직을 가지지 않는 순수한 데이터 객체(Java Beans) VO Value Object DTO와 비슷하지만, VO는 read-only 속성을 갖고 있는 객체 Getter만 가지고 있어 값에 대한 수정 불가능 다른 로직 가질 수 있음 DTO VO 목적 계층간 데이터 전달 값 자체 표현 동등성 필드(변수)값이 같아도 같은 객체 아님 필드(변수)값이 같으면 같은 객체 가변성 setter 존재 시, 가변 setter 비존재 시, 불가변 불변 로직 getter/setter 외의 로직이 필요하지 않음 getter/setter 외의 로직이 있어도 무 Bean Spring IoC 컨테이너가 관리하는 Java 객체 Spring..
2023.03.21 -
REST API
API : Application Programming Interface Interface: 어떤 장치 간 정보를 교환하기 위한 수단이나 방법 개발에서의 API는 요청과 응답을 구성하는 방법에 대한 정보들이 들어있음 REST : Representational State Transfer 서버와 클라이언트 통신 방법 중 하나 http URI를 통해 resource를 명시하고, http method를 이용해 resource를 교환하는 통신 방법 REST의 특징(아키텍처) 참고) https://restfulapi.net/ 1. Server-Client 구조 Server와 Client를 분리하여 최대한 독립적으로 개발 가능 2. Stateless(무상태) 작업을 위한 상태 정보를 따로 저장하고 관리하지 않음. = ..
2023.03.21