🚗 Backend Toy Project/스프링 부트 게시판

    [스프링부트 게시판] 10. UPDATE 테스트

    이번 시간에는 데이터를 전달받고 해당 데이터로 데이터베이스에 저장되어 있는 데이터를 변경하는 UPDATE 작업을 수행해보겠습니다. 우선 다음과 같이 함수를 구현해주었습니다. Update 작업을 수행할 것이므로 @PutMapping 어노테이션을 작성해주었습니다. 또한 Insert 작업을 수행할 때 사용했던 save 함수를 사용하고 있는데, save 함수는 경우에 따라 다음과 같이 동작합니다. id를 전달하지 않을 경우 Insert 수행 id를 전달할 경우 해당 id에 대한 데이터가 있다면 Update 수행 id를 전달할 경우 해당 id에 대한 데이터가 없다면 Insert 수행 즉, 위에서 id 값으로 이미 데이터베이스에 저장되어 있는 값을 전달받는다면 데이터베이스에서 해당 id 값을 갖고 있는 데이터의 값..

    [스프링부트 게시판] 9. SELECT 테스트

    이번 시간에는 데이터베이스에 들어있는 데이터에 대한 SELECT 작업을 수행해보도록 하겠습니다. 우선 Postman을 통한 post 요청으로 다음과 같이 데이터베이스에 데이터를 추가해주었습니다. 이후 이전 시간에 생성하였던 DummyController 클래스에 아래의 코드를 추가해주었습니다. 여기서 '{ }'와 @PathVariable 어노테이션은 주소를 통해 파라미터를 전달받기 위해 사용하였습니다. 이제 우리는 파라미터를 전달받은 뒤 해당되는 데이터를 간단하게 출력해보는 작업을 수행할 텐데, 만약 전달된 파라미터에 부합하는 알맞은 데이터가 없다면, 즉 위를 예로 들자면 해당되는 id를 갖는 데이터가 없다면 이는 널(Null) 값이 될 것이며 이러한 결과를 반환한다면 프로그램에 문제가 생기게 될 수도 있..

    [스프링부트 게시판] 8. 회원가입을 위한 insert 테스트

    이번 시간에는 회원가입 시스템을 테스트 해보기 위해 더미 데이터를 데이터베이스에 INSERT 하는 작업을 수행해보려고 합니다. 우선 테스트용 클래스를 생성하여 아래와 같이 구현해주었습니다. 위처럼 구현한 후, Postman을 통해 다음과 같이 post 요청을 수행하여 데이터가 잘 전달되는지 확인합니다. post 요청을 수행한 뒤, 콘솔창을 살펴보면 다음과 같이 데이터가 잘 전달된 것을 확인할 수 있습니다. 당연스럽게도 user 객체의 id와 role, createDate 데이터로는 널(Null) 값이 저장될 것입니다. 다만 위처럼 하지않고, 데이터를 객체로 매핑하여 받아올 수도 있습니다. 데이터가 전달되는 것을 확인하였으니 이제부터 데이터베이스에 INSERT 작업을 해볼텐데, 이를 위해 'reposito..

    [스프링부트 게시판] 7. 테이블 생성

    이번 시간에는 JPA를 이용하여 테이블을 생성해보도록 하겠습니다. Blog 테이블은 크게 User, Board, Reply로 구분하여 생성할 것입니다. 우선 패키지를 새로 생성하고 해당 패키지 안에 세 가지 클래스를 생성해주었습니다. 이후 User 클래스 먼저 다음과 같이 구현해주었습니다. 하나씩 살펴보자면, 먼저 id 부분의 @id 어노테이션은 해당 열을 테이블에서 기본키(Primary key)로 사용하겠다는 것이며, id 열은 auto_increment 즉, 테이블에 값을 추가할 때 따로 지정해주는 것이 아니라 자동적으로 넘버링 값이 들어가도록 설정할 것이기 때문에 @GeneratedValue 어노테이션을 통해 해당 열의 넘버링 전략을 지정해준 것입니다. 다음으로 username과 password, ..