Springboot에서 gradle library를 사용하는 경우
데이터베이스와 연동하는 방법과 데이터 저장 및 조회를 하는 방법을 간단하게 정리하였다.
- 데이터베이스연동
- 데이터베이스 저장 및 조회
데이터베이스 연동
프로젝트의 src > main > resource에서 application.yml 파일 생성
spring:
datasource:
url: "jdbc:mysql://localhost/library"
username: "root"
password: ""
driver-class-name: com.mysql.cj.jdbc.Driver
데이터 저장 및 조회
package com.group.libraryapp.controller.user;
import com.group.libraryapp.dto.user.request.UserCreateRequest;
import com.group.libraryapp.dto.user.response.UserResponse;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@RestController
public class UserController {
private final JdbcTemplate jdbcTemplate;
public UserController(JdbcTemplate jdbcTemplate) {
this.jdbcTemplate = jdbcTemplate;
}
@PostMapping("/user") //데이터 저장
public void saveUser(
@RequestBody UserCreateRequest request
) {
String sql = "INSERT INTO USER (NAME, AGE) VALUES (?,?)";
jdbcTemplate.update(sql, request.getName(), request.getAge());
}
@GetMapping("/user") //데이터 조회
public List<UserResponse> getUsers() {
String sql = "SELECT * FROM USER";
return jdbcTemplate.query(sql, (rs, rowNum) -> {
long id = rs.getLong("id");
String name = rs.getString("name");
int age = rs.getInt("age");
return new UserResponse(id, name, age);
});
}
}
728x90
반응형
'프로그래밍 > 백엔드' 카테고리의 다른 글
[MYSQL] FOR문 처럼 연속데이터 채우기 (UPDATE) (0) | 2023.04.12 |
---|---|
외부 API 호출 정리(GET, POST 방식)(feat. JWT토큰 활용) (0) | 2023.04.05 |
C프로그램 완성과정의 전체적인 이해 (C언어) (0) | 2020.09.19 |
C언어의 장점 및 컴파일러에 대해 정리 (C언어) (0) | 2020.09.19 |
프로시저 에러메세지 출력방법 (PL SQL Developer) (0) | 2020.09.16 |