
- SQL 없이 유저 생성, 조회, 수정 기능을 만들어 보자 - 이전 글에서 User Entity와 User table을 미리 매핑했기 때문에 아래의 작업들이 가능한 것이다. 1. 저장(INSERT) - UserRepository interface를 User class와 같은 경로에 만들자 - JpaRepository를 상속하는 것만으로도 UserRepository는 Spring bean으로 등록된다. - 따라서 UserRepository interface에는 @Repository Annotation을 따로 붙여줄 필요가 없다. public void saveUser(UserCreateRequest request) { // save는 원래 내장돼 있는 method // INSERT 후에는 User 객체를 ..

- JPA를 이용해 User class와 User table을 매핑 즉, Java 객체와 MySQL Table을 매핑해보자 - 현재 User 객체와 User 테이블의 속성은 아래와 같다. ● 매핑하기 (1). User class에 @Entity Annotation을 붙여준다. @Entity 1. Spring이 User 객체와 User 테이블을 같은 것으로 바라보게(생각하게) 해준다. 2. Entity = 저장되고 관리되어야 하는 데이터 (2). 현재 User class에 빠져있는 id를 추가해줘야한다.(객체와 테이블을 일치시켜야하니까) - 단순히 class에 id 필드만 추가해서는 안 되고 아래와 같이 Annotation을 몇 개 붙여줘야한다. @Id : 해당 필드를 PK로 간주한다. @Generated..

● SQL을 직접 사용하는 것의 단점 - 지금까지는 직접 SQL을 작성해서 데이터 CRUD를 진행했다. [직접 SQL을 작성하는 것의 단점] 1. 사람이 직접 문자열을 작성하기 때문에 실수할 수 있고 또 그것을 인지하는 시점이 느리다. → 즉, 잘못된 SQL로 인한 오류가 컴파일 시점에 발견되지 않고 런타임 시점에 발견되는 것이다. 2. 특정 데이터베이스에 종속적이게 된다. ex) MySQL에서 PostgreSQL로 바뀌면 기존의 MySQL 쿼리를 전부 PostgreSQL에 맞게 바꿔야한다. 3. 반복 작업이 많아진다. 새로운 테이블을 만들 때마다 그에 맞는 CRUD 쿼리가 항상 필요하다. 4. JAVA의 객체와 데이터베이스의 테이블은 패러다임이 다르다. 서로 다른 패러다임 1 - 왼쪽이 JAVA의 객체..

● Spring bean을 등록하는 방법 1. @Configuration & @Bean : 외부 라이브러리, 프레임워크 등에서 만든 class를 등록할 때 사용 - JdbcTemplate은 외부 라이브러리이기에 @Configuration과 @Bean을 이용해 Spring bean으로 등록돼었다. (1). @Configuration - class에 붙이는 Annotaion - @Bean을 사용할 때 함께 사용해 주어야 한다. (2). @Bean - 메소드에 붙이는 Annotaion - 메소드에서 반환되는 객체를 Spring bean으로 등록한다. ex) UserRepository에 @Bean을 사용해보자 cf) 보통 @Configuration Annotaion은 config package 안에 넣어둔다. ..

● 도입 - Spring Container를 굳이 왜 사용하는 것일까? - 그냥 new 연산자를 이용해 직접 instance를 만들어 연결시켜주면 되지 않을까? - 아래의 예를 통해 알아보자 ex) - 책 이름을 메모리에 저장하는 API를 구현해야 한다. 단, 이때 Service, Repository는 Spring Bean이 아니어야 한다. - 그렇다면 아래와 같은 구조가 될 것이다. - 이때 새로운 요구사항이 들어왔다. - 책 이름을 더 이상 메모리에 저장하는 것이 아니라 MySQL 같은 DB에 저장해야한다. - 이때 Repository에서 JdbcTemplate을 바로 가져올 수 있다. - 그렇다면 아래와 같은 구조가 될 것이다. - 이런 상황(메모리 → DB로 저장 위치 변경)이라면 BookServ..

- 이전 글에서 만든 Service, Repository에는 Controller에서부터 시작된 JdbcTemplate를 직접 넣어주었다. - 여기서 UserController에 관해 몇 가지 의문점이 나올 수 있다. ● 의문점 1. static이 아닌 코드를 사용하려면 인스턴스화가 필요하다 - 일반적으로 JAVA에서 static이 붙지 않은 class를 사용하려면 먼저 해당 class의 instance를 만들어야한다. - 하지만 위의 사진에서 볼 수 있듯이 UserController의 Constructor(생성자)는 만들었지만 그 어디에도 해당 Constructor를 이용해 UserController의 instance를 만든적은 없다. - 그렇다면 도대체 어디에서 UserController의 instan..
- Total
- Today
- Yesterday
- 빅데이터 분석기사
- 자료구조
- node.js
- git
- 코테
- MongoDB
- OS
- 빅데이터
- MySQL
- java
- 알고리즘
- spring
- jpa
- 프로그래머스
- SQL
- SpringBoot
- 운영체제
- API
- 프로세스
- Phaser3
- DART
- Java8
- db
- Spring Boot
- Advanced Stream
- 메모리
- nosql
- 코딩테스트
- Stream
- Phaser
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |