일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 비밀번호 재설정 API
- 스프링 이메일 전송
- github 복제
- jar빌드
- 값 타입
- springboot
- 자바
- Servlet
- MVC
- Json 객체
- MySQL
- 스프링부트 OpenAI API
- JPQL
- JPA
- 페이징 정렬
- git 충돌 해결
- Git
- 넘파이
- 저장소 이전
- JDBC
- 두수의 합 자바
- HttpServletResponse
- swap 메모리
- 저장소 복제
- Chat GPT
- 파이썬
- api 개발
- 프로그래머스
- 서버 배포
- 우분투
- Today
- Total
목록springboot (8)
현의 개발 블로그
책 생성 API 개발 API 명세서 HTTP Method POST HTTP Path /book HTTP Body {"name" : String} 결과 반환 X book 테이블 설계하기 create table book ( id bigint auto_increment, name varchar(255), primary key (id) ); @Column length 기본값이 255라서 varchar(255)로 지정했다. Book 객체 생성 @Entity @NoArgsConstructor(access = PROTECTED) public class Book { @Id @GeneratedValue private Long id; @Column(nullable = false) private String name; pu..
JDBC의 한계 앞에서는 SQL을 직접 사용해 DB에 접근하였다. 이러한 방식은 다음과 같은 한계점이 존재한다. 1. SQL문을 직접 작성하기 때문에 오타가 생길 수 있다. 2. 반복 작업이 많아진다. 매번 INSERT, SELECT, UPDATE, DELETE 쿼리를 날려줘야 한다. 또한, SELECT 쿼리를 작성할 때 필드를 하나씩 매핑해줘야 한다. 3. 특정 데이터베이스에 종속된다. SQL도 MySQL, MSSQL 등 문법이 조금씩 다른데, DB를 바꿔야 한다면 코드를 그에 맞게 수정해야 한다. JPA(Java Persistence API) 정의 객체와 관계형 데이터베이스를 짝지어 데이터를 영구 저장하도록 정해진 규칙이다. *Persistence: 영속성; 데이터를 생성한 프로그램이 종료되어도, 그..
역할 분리의 필요성 앞에서는 Controller에서 모든 기능을 구현하였다. 예를 들어, updateUser()는 3가지의 역할을 수행한다. @PutMapping("/user") public void updateUser(@RequestBody UserUpdateRequest request){ String readSql = "SELECT * FROM user WHERE id = ?"; boolean isUserNotExist = jdbcTemplate.query(readSQL, (rs, rowNum) -> 0, request.getId()).isEmpty()); if (isUserNotExist){ throw new IllegalArgumentException(); } String updateSql = "..
이전에 유저 정보를 List에 저장했다면, 이번에는 DB에 저장하도록 코드를 바꿀 것이다. 먼저 User 테이블을 생성한다. create table user( id bigint auto_increment, name varchar(25), age int, primary key(id) ); jdbcTemplate을 활용해 MySQL로 SQL을 보낼 수 있다. UserController에서 jdbcTemplate을 선언하자. final 변수를 만들고 생성자를 만들면, 스프링이 자동으로 jdbcTemplate을 주입해준다. private final JdbcTemplate jdbcTemplate; public UserController(JdbcTemplate jdbcTemplate){ this.jdbcTempla..

JDBC(Java DataBase Connectivity)는 자바에서 DB를 사용할 수 있도록 지원하는 API 이다. DB로 커넥션을 연결하고, SQL을 전달하면, DB로부터 응답을 받는 형태이다. JDBC를 활용하기 위해서 SQL 문법을 알아야 한다. SQL(Structured Query Language)는 표처럼 구조화된 데이터를 조회하는 언어이다. SQL 문법 DDL (Data Definition Language, 데이터 정의어) - 데이터베이스 생성하기 CREATE DATABASE [DB 이름]; - 데이터베이스 제거하기 DROP DATABASE [DB 이름]; - 데이터베이스 목록 조회하기 SHOW DATABASES; - 데이터베이스 사용하기 USE [DB 이름]; - 테이블 목록 조회하기 SH..

유저 생성 API 개발 유저의 이름과 나이를 입력하면, 유저가 생성되는 API를 개발할 것이다. API 명세서 HTTP Method POST HTTP Path /user HTTP Body {"name" : String(non null), "age": Integer} 반환 결과 반환 x User Entity를 먼저 생성한다. public class User{ private String name; private Integer age; public User(String name, Integer age) if (name == null || name.isBlank()){ throw new IllegalArgumentException("잘못된 이름이 들어왔습니다."); this.name = name; this.ag..