본문 바로가기

개발/프로젝트

(18)
[스프링부트 게시판] 9. JPA SELECT 이번 게시글에서는 데이터베이스에 들어있는 데이터에 대해 확인을 하는 SELECT 작업을 수행하도록 하겠습니다. 먼저 5개의 사용자를 추가하도록 이전 post를 통한 회원가입을 진행하도록 하겠습니다. 이후 이전 시간에 생성시켰던 UserController 클래스에서 SELECT를 확인 할 수 있는 코드를 추가하도록 하겠습니다. 여기서 '{ }'와 @PathVariable 어노테이션은 주소를 통한 파라미터를 전달받기 위해 사용하였습니다. 위와 같은 주소의 예시로 /toy/user/1 이렇게 작성을 해야하는데 실수로 {id}에 해당하는 값이 없어 널(null)값이 될 수도 있습니다. 이러한 변수가 들어가 문제가 발생하는 경우가 있습니다. 여기서 JpaRepository 클래스에서 데이터를 가져올 때, 예외를 ..
[스프링부트 게시판] 8. 회원가입을 위한 JPA INSERT 이번 게시글에서 회원가입을 위한 데이터베이스에 사용자를 추가하는 JPA Insert에 대해 알아보고자 합니다. 먼저 회원가입을 위한 테스트용 Controller 클래스 파일을 생성하겠습니다. 사용자 관련 컨트롤러인 UserController를 생성했습니다. [UserController] @RestController public class UserController { @PostMapping("/user/join") public String join(String username, String password, String email) { System.out.println("username : " + username); System.out.println("password : " + password); Sys..
[스프링부트 게시판] 7. 테이블 생성 이번 게시글에서 JPA를 이용한 테이블을 생성하도록 하겠습니다. ToyProject에서 사용할 테이블은 User, Board, Reply로 3개로 나뉘어 생성할 것입니다. 우선 Entity들을 모을 패키지를 새로 생성하여 3가지의 Entity 클래스를 생성해주었습니다 먼저 사용자 엔티티, User 부터 설정해주었습니다. [User] @Data @AllArgsConstructor @NoArgsConstructor @Builder @Entity public class User { @Id @GeneratedValue private Long id; @Column(nullable=false, length=30) private String username; @Column(nullable=false, length=1..
[스프링부트 게시판] 6. application.properties 설정 이번 게시글에서는 스프링부트의 전반적인 설정을 담당하는 application.properties 설정에 대해 설명드리려고 합니다. 먼저 .properties 에 대해서 간단히 말씀드릴 것은 'Key=Value형식으로 파라미터 정보들을 저장하기 위한 파일 확장자를 의미' 라고 불립니다. 이것을 사용하는 것에서 나중에 배울 Spring message들을 묶어 놓는 message.properties 등이 있습니다. 스프링부트의 전반적인 설정을 담당하는 것은 yml도 있지만 이는 나중에 리팩토링 하면서 바꿔보도록 하겠습니다. 아래의 링크는 properties에 전반적으로 쓰이는 스프링 공식 홈페이지 Document 입니다. http://docs.spring.io/spring-boot/docs/current/re..
[스프링부트 게시판] 5. Lombok 세팅 이번 게시물에는 저번 의존성 설정 때 추가했던 Lombok 에 대해 설명드리고자 합니다. 우선 Lombok 은 간단하게 말하자면 어노테이션 기반으로 코드를 자동완성 해주는 라이브러리 입니다. 기존에 VO를 설정할 때 각 해당하는 형과 변수값을 정하고 Getter와 Setter를 만들고 필요하다면 생성자까지 만들어야합니다. 하지만 이렇게 작성하는 경우 매우 길어지고 보기가 불편해집니다. public class Store extends Common { private String companyName; // 상호명 private String industryTypeCode; // 업종코드 private String businessCodeName; // 업태명 private String industryName; ..
[스프링부트 게시판] 4. Http 요청 Http는 'HyperText Trransfer Protocol'의 약자입니다. 하이퍼텍스트(HTML) 문서를 교환하기 위해 만들어진 Protocol(통신 규약)이며 웹 상에서 통신할 때 형식을 정하여 통신을 하자는 약속입니다. 여기서 Http는 요청(Request)와 응답(Response)의 구조로 이루어져 있는데 Http 요청은 클라이언트가 서버에게, Http 응답은 서버가 클라이언트에게 받은 요청에 대해 응답하는 것입니다. 여기서 Http 요청에서 Http Method가 존재하는데 요청할 때 의도하는 행동을 정의하는 것입니다. 총 4가지가 있는데 get : 데이터를 받아오기 위함 post : 데이터를 추가하기 위함 put : 데이터를 변경하기 위함 delete : 데이터를 삭제하기 위함 위의 4가지..
[스프링부트 게시판] 3. Git 설치 및 GitHub 연동 이번 게시한 글에서는 Git을 설치하고 GitHub에 Repository를 생성하여 프로젝트를 연동하고 관리할 수 있도록 설정해보겠습니다. 해당 작업을 수행하기 위해서는 사전에 Git이 설치되어 있어야 하며 GitHub 계정을 가지고 있어야 합니다. 우선 GitHub에 프로젝트와 연동시킬 새 Repository를 생성하겠습니다. Repository가 생성된 것을 확인하였으면 GitHub에 연동할 프로젝트 폴더의 workspace 로 이동하여 마우스 우클릭을 한 뒤, 'Git Bash Here'을 클릭하여 Git에 접속합니다. 이후 아래의 명령어들을 순서대로 입력해줍니다. git init git add . git commit -m "환경세팅 완료" git remote add origin [your-repo..
[스프링부트 게시판] 2. MySQL 설정 이번 게시한 글에서는 MySQL DataBase를 사용하기 위해 MySQL 환경설정 및 연결을 진행하겠습니다. 1. MySQL 프로젝트 생성 MySQL WorkBench에서 SCHEMAS에서 오른쪽 클릭 후 Create Schema 를 클릭합니다. new_schema 라는 스키마 생성 창이 나타나게 되는데 Name에 본인이 원하는 프로젝트명을 입력합니다. 필자는 toyproject라고 하겠습니다. 이 때 Charset을 설정하는 값이 있는데 따로 MySQL의 my.ini를 수정하지 않았다면 기본으로 주어진 Default Charset 은 utf8mb4 로 설정되어 있습니다. 혹여나 문제가 있을까봐 따로 utf8을 클릭 후 Apply를 설정하겠습니다. 이 후 해당 데이터 베이스에 스키마를 생성하는 허가받는..