Spring
-
[김영한 스프링] 05. JDBC 이해 - JDBC 개발 조회, 수정, 삭제Spring/스프링 DB 1편 - 데이터 접근 핵심 원리 2023. 10. 18. 00:27
JDBC 개발 - 조회 MemberRepositoryV0 - 회원 조회 추가 package hello.jdbc.repository; import hello.jdbc.connection.DBConnectionUtil; import hello.jdbc.domain.Member; import lombok.extern.slf4j.Slf4j; import java.sql.*; import java.util.NoSuchElementException; /** * JDBC - DriverManager 사용 */ @Slf4j public class MemberRepositoryV0 { public Member findById(String memberId) throws SQLException { String sql = "..
-
[김영한 스프링] 04. JDBC 이해 - JDBC 개발 등록Spring/스프링 DB 1편 - 데이터 접근 핵심 원리 2023. 10. 17. 19:50
JDBC 개발 - 등록 여기서는 JDBC를 사용해서 회원(Member) 데이터를 데이터베이스에 관리하는 기능을 개발해 보자. 주의! H2 데이터베이스 설정 마지막에 있는 테이블과 샘플 데이터 만들기를 통해서 member 테이블을 미리 만들어 두어야 한다. schema.sql drop table member if exists cascade; create table member ( member_id varchar(10), money integer not null default 0, primary key (member_id) ); Member package hello.jdbc.domain; import lombok.Data; @Data public class Member { private String memb..
-
[김영한 스프링] 03. JDBC 이해 - 데이터베이스 연결Spring/스프링 DB 1편 - 데이터 접근 핵심 원리 2023. 10. 17. 02:26
데이터베이스 연결 주의 H2 데이터베이스 서버를 먼저 실행해 두자. ConnectionConst package hello.jdbc.connection; public abstract class ConnectionConst { public static final String URL = "jdbc:h2:tcp://localhost/~/test"; public static final String USERNAME = "sa"; public static final String PASSWORD = ""; } main/java/hello/jdbc/connection/ConnectionConst 생성 데이터베이스에 접속하는데 필요한 기본 정보를 편리하게 사용할 수 있도록 상수로 만들었다. 이제 JDBC를 사용해서 실제 ..
-
[김영한 스프링] 02. JDBC 이해 - JDBC 이해 & 최신 데이터 접근 기술Spring/스프링 DB 1편 - 데이터 접근 핵심 원리 2023. 10. 17. 01:50
JDBC 이해 JDBC 등장 이유 애플리케이션을 개발할 때 중요한 데이터는 대부분 데이터베이스에 보관한다. 클라이언트, 애플리케이션 서버, DB 클라이언트가 애플리케이션 서버를 통해 데이터를 저장하거나 조회하면, 애플리케이션 서버는 다음 과정을 통해서 데이터베이스를 사용한다. 애플리케이션 서버와 DB - 일반적인 사용법 커넥션 연결 : 주로 TCP/IP를 사용해서 커넥션을 연결한다. SQL 전달 : 애플리케이션 서버는 DB가 이해할 수 있는 SQL을 연결된 커넥션을 통해 DB에 전달한다. 결과 응답 : DB는 전달된 SQL을 수행하고 그 결과를 응답한다. 애플리케이션 서버는 응답 결과를 활용한다. 애플리케이션 서버와 DB - DB 변경 문제는 각각의 데이터베이스마다 커넥션을 연결하는 방법, SQL을 전달..
-
[김영한 스프링] 01. JDBC 이해 - 프로젝트 생성 & 세팅 & H2 데이터베이스 설정Spring/스프링 DB 1편 - 데이터 접근 핵심 원리 2023. 10. 17. 01:33
프로젝트 생성 https://start.spring.io 프로젝트 선택 Project : Gradle - Groovy Project Language : Java Spring Boot : SNAPSHOT이 아닌 버전에서 2.x Project Metadata Group : hello Artifact : jdbc Name : jdbc Package name : hello.jdbc Packaging : Jar Java : 11 Dependencies : JDBC API, H2 Database, Lombok 프로젝트 열기 build.gradle 선택 -> 프로젝트 열기 설정 설정 -> Gradle -> Intelij IDEA로 변경 설정 -> 파일 인코딩 -> 프로퍼티 파일에 대한 디폴트 인코딩을 UTF-8로 변..
-
[김영한 스프링] 57. 파일 업로드 - 예제로 구현하는 파일 업로드, 다운로드Spring/스프링 MVC 2편 - 백엔드 웹 개발 활용 기술 2023. 10. 16. 23:21
예제로 구현하는 파일 업로드, 다운로드 실제 파일이나 이미지를 업로드, 다운로드할 때는 몇가지 고려할 점이 있는데, 구체적인 예제로 알아보자. 요구사항 상품을 관리 상품 이름 첨부파일 하나 이미지 파일 여러개 첨부파일을 업로드 다운로드 할 수 있다. 업로드한 이미지를 웹 브라우저에서 확인할 수 있다 Item - 상품 도메인 package hello.upload.domain; import lombok.Data; import java.util.List; @Data public class Item { private Long id; private String itemName; private UploadFile attachFile; private List imageFiles; } main/java/hello/up..
-
[김영한 스프링] 56. 파일 업로드 - 서블릿과 파일 업로드 & 스프링과 파일 업로드Spring/스프링 MVC 2편 - 백엔드 웹 개발 활용 기술 2023. 10. 12. 23:07
서블릿과 파일 업로드1 ServletUploadControllerV1 package hello.upload.controller; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import javax.servlet.ServletException; import javax.servlet...
-
[김영한 스프링] 55. 파일 업로드 - 소개 & 프로젝트 생성 & 세팅Spring/스프링 MVC 2편 - 백엔드 웹 개발 활용 기술 2023. 10. 12. 01:35
파일 업로드 소개 일반적으로 사용하는 HTML Form을 통한 파일 업로드를 이해하려면 먼저 폼을 전송하는 다음 두 가지 방식의 차이를 이해해야 한다. HTML 폼 전송 방식 application/x-www-form-urlencoded multipart/form-data application/x-www-form-urlencoded 방식 application/x-www-form-urlencoded 방식은 HTML 폼 데이터를 서버로 전송하는 가장 기본적인 방법이다. Form 태그에 별도의 enctype 옵션이 없으면 웹 브라우저는 요청 HTTP 메시지의 헤더에 다음 내용을 추가한다. Content-Type: application/x-www-form-urlencoded 그리고 폼에 입력한 전송할 항목을 HT..