분류 전체보기

    [Springboot] 블로그 만들기 (14)_Exception처리_에러페이지

    DB 값이 존재하지 않는 Id가 1인 데이터를 삭제해보자. Controller @GetMapping("/dummy/user/{id}") public User detail(@PathVariable int id) { User user = userRepository.findById(id).orElseThrow(new Supplier() { @Override public IllegalArgumentException get() { return new IllegalArgumentException("해당 유저는 없습니다. id : " + id); } }); return user; } http://localhost:8001/blog/dummy/user/1 로 1번 데이터 삭제를 요청해보자 당연히 아래와 같이 오류페이지..

    [Springboot] 블로그 만들기 (13)_Delete 테스트, Exception처리

    DB insert test를 하다가 망가진 1번 데이터를 Delete해보자 Controller @DeleteMapping("/dummy/user/{id}") public String DeleteUser(@PathVariable int id) { userRepository.deleteById(id); return "삭제되었습니다 Id : " + id; } 결과 확인 매우 간단하게 delete 문을 작성할 수 있다. 하지만 이 방법은 조금 위험하다. 만약에 존재하지 않는 값 5를 넣어준다면 ? 위와 같이 오류가 발생하게 된다. --> Exception (예외) 처리를 해야된다. @DeleteMapping("/dummy/user/{id}") public String DeleteUser(@PathVariable..

    [Springboot] 블로그 만들기 (12)_Update 테스트

    DB id가 1인 홍길동의 비밀번호를 5678로, email을 dddd로 변경하고 싶다. Controller // save 함수는 id를 전달하지 않으면 insert를 해주고 // save 함수는 id를 전달하면 해당 id에 대한 데이터가 있으면 update를 해주고 // save 함수는 id를 전달하면 해당 id에 대한 데이터가 없으면 insert 해준다. // email, password 회원정보 수정 @PutMapping("/dummy/user/{id}") public User updateUser(@PathVariable int id, @RequestBody User requestUser) { // Json 형식으로 된 데이터를 받을꺼임!! 그래서 RequestBody가 필요하다. // json 데..

    [Springboot] 블로그 만들기 (11)_Select 테스트_다중행

    Controller //http://localhost:8001/blog/dummy/users @GetMapping("/dummy/users") public List list(){ return userRepository.findAll(); // 전체행 조회 } 값은 너무 잘 나오는데.. 가독성이 너무 떨어진다. JSON VIEW 라는 크롬 확장 프로그램을 설치하자 https://chromewebstore.google.com/detail/jsonview/gmegofmjomhknnokphhckolhcffdaihd?utm_source=ext_app_menu JSONView 브라우저에서 JSON 문서를 보세요. chrome.google.com 크롬에 추가한 후 새로고침을 하면 매우 이쁘게 나온다. Pagnatio..

    [Springboot] 블로그 만들기 (10)_Select 테스트_단일행

    Controller @RestController public class DummyControllerTest { @Autowired // 의존성 주입(DI) private UserRepository userRepository; // {id} 주소로 파라미터를 전달 받을 수 있음. //http://localhost:8001/blog/dummy/user/3 @GetMapping("/dummy/user/{id}") public User detail(@PathVariable int id) { // user/4를 찾으면 내가 데이터베이스에서 못찾아오게되면 user가 null이 될 것 아냐 ? // 그럼 return null 이 리턴이 되잖아.. 그럼 프로그램에 문제가 있지 않겠니 ? // Optional로 너의 U..

    [Springboot] 블로그 만들기 (9)_회원가입 insert 테스트

    테스트용 클래스 생성 파일명 : DummyControllerTest 보통 파라미터 값을 받기 위해서 아래와 같이 RequestParam이라는 어노테이션을 사용해서 받는다. 이때 변수명은 아무렇게 지어도 상관이 없다. public String join(@RequestParam("키 값") String 변수명) { @Repository 생략 가능하다. public interface UserRepository extends JpaRepository{ // 해당 JpaRepository는 user테이블이 관리하고 이 테이블의 PK는 숫자형이다. // 이 JpaRepository는 findAll()이라는 함수를 갖고 있는데 이 함수는 테이블의 모든행을 리턴하는 함수이다. // 이 함수는 데이터 CRUD를 처리할 ..

    [Springboot] 블로그 만들기 (8)_Reply Table 생성

    클래스 생성 Reply.java package com.lwj.blog.model; import java.sql.Timestamp; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; import org.hibernate.annotations.CreationTimestamp; import lombok.AllArgsCo..

    [Springboot] 블로그 만들기 (7)_Board Table 생성, 연관관계 주인

    클래스 생성 Board.java package com.lwj.blog.model; import java.sql.Timestamp; import java.util.List; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.FetchType; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.Lob; import javax.persisten..