본문 바로가기

전체 글104

DB 데이터 활용하기 - jpa 테이블 join Post 클래스에서 foreign key로 썼던 userId를 지우고 User 오브젝트 타입의 변수를 선언해 ORM을 해줍니다. getter와 setter를 생성해줍니다. 테이블에는 오브젝트를 담을 수 없습니다. 따라서 User 오브젝트의 id가 foreign key 역할을 할 것이라고 알려주어는 @ManyToOne annotation을 붙여줍니다. 여기서 Many는 post, One은 user 입니다. @ManyToOne annotation은 user의 기본키를 foreign key로 인식해줍니다. 서버를 실행시켜보면 post 테이블에 user_id라는 foreign key가 생성된 것을 확인 할 수 있습니다. 테스트를 위해 더미값을 insert 해줍니다. 현재까지는 데이터베이스에 다른 설정은 안해주고.. 2021. 7. 4.
DB 데이터 활용하기 - 테이블 join Post라는 클래스를 만들어서 데이터베이스에 post 테이블을 만듭니다. @GeneratedValue의 strategy값을 IDENTITY 값으로 하면 mariadb, mysql, oracle에 맞춰서 바꿔줍니다. @Lob annotation을 쓰면 해당 변수에 해당하는 가장 긴 타입으로 설정해줍니다. content는 게시글을 저장할 것이기때문에 그냥 String 타입으로 저장하면 데이터베이스에는 varchar 타입으로 저장되는데 varchar 타입은 225 글자가 최대이기때문에 가장 긴 longtext 타입으로 설정해주어야 한다. 여기서 userId는 user 테이블의 아이디를 나타내줄 변수이다. 테이블을 만들고 데이터를 insert 해줍니다. 한줄씩 현재쿼리 실행을 해줍니다. 이때 user_id는 u.. 2021. 7. 3.
[블로그 만들기] DB 활용하기 - 로그인, 로그아웃 더보기 2021.07.02 - [Spring] - DB 데이터 활용하기 - 회원가입 위 게시물과 이어집니다. loginForm.jsp에 include를 통해서 header.jsp 가 실행되도록 해줍니다. footer.jsp도 마지막줄에 마찬가지로 넣어줍니다. regist.jsp에서 사용했던 div태그와 form 태그를 복사해 가져와 수정해줍니다. action과 method를 통해서 어디로, 어떻게 갈지 지정해줍니다. UserRepository 클래스에 로그인 기능을 하는 메서드도 만들어줍니다. 하지만 이렇게 하게 되면 로그인을 성공했을 때 성공하기 전과 후의 홈화면이 달라지는게 없습니다. 로그인 했을 때 session에 저장해주기 위해 HttpSession을 DI 해줍니다. 함수의 반환타입 앞에 @Res.. 2021. 7. 3.
[블로그 만들기] DB 데이터 활용하기 - 회원가입 UserController 자바 클래스와 loginForm, registForm 이름의 로그인 회원가입 화면을 구성할 jsp 파일을 만듭니다. GetMapping으로 로그인/회원가입 화면에 하는 메서드를 만듭니다. 회원가입 기능을 할 메서드를 만들고 return 값을 로그인 페이지로 해줍니다. 이때 바로 loginForm.jsp로 가지 않고 redirect 해서 주소로 찾아가는 이유는 loginForm() 메서드에서 loginForm.jsp로 가기 전 처리해야 할 로직이 있다면 처리해주어야 하기 때문입니다. 바로 loginForm.jsp로 이동하게 된다면 빈껍데기 페이지로 이동하게 됩니다. 로그인 / 회원가입 페이지를 구성해봅니다. https://www.w3schools.com/ W3Schools Onl.. 2021. 7. 2.
DB 데이터 활용하기 - delete, update 이번에는 Delete를 해봅니다. Delete는 당연히 DeleteMapping을 사용해줍니다. 삭제할 데이터의 id를 주소를 통해서 받으면 @PathVariable 을 이용해서 매개변수로 활용해줍니다. userRepository에 정의되어있는 deleteById로 데이터를 삭제해줍니다. postman에서 send 해보면 잘 삭제된 것을 볼 수 있습니다. 수정은 수정할 데이터를 request해야하므로 PutMapping을 사용해줍니다. PathVariable을 이용해서 주소에서 요청한 id 값을 받아주고 요청받은 데이터들은 User 오브젝트에 넣어줍니다. 보통 userid는 수정하지 않기 때문에 email과 password 값만 받아줄건데, 이렇게 되면 user에는 id와 userid 값은 null이 됩.. 2021. 6. 30.
DB 데이터 활용하기 - 로그인 기능 더보기 2021.06.29 - [Spring] - DB에서 데이터 가져오기 위 게시물과 이어지는 게시물입니다. body에 x-www-form-urlencoded 방식으로 userid와 password를 받았을 때 데이터베이스에 해당 데이터가 있다면 login success 를, 없다면 login fail을 출력하는 기능을 만들어봅니다. userid와 password 값을 body 데이터에 request 해야하기 때문에 PostMapping을 사용해줍니다. login 메서드는 userRepository에 정의되어 있지 않기때문에 만들어줍니다. @Query annotation을 사용해서 데이터들을 SELECT 해줍니다. user 테이블에 userid가 매개변수로 전달받은 userid와 같고 password가.. 2021. 6. 30.
728x90
반응형