자바 공부/스프링공부

jpa를 이용하여 게시판 만들어 보기 1

ari0930 2024. 8. 7. 00:42

jpa를 이용하여 게시판 만들어 보기 1(회원가입)

 

메인페이지 화면

 

로그인/회원가입 화

 

현재는 메인페이지와 회원가입/로그인 페이지의 jsp 파일을 완성했으며 회원가입 기능까지 만들었다.

이때 중복되는 아이디가 있을 경우 회원가입이 되지 않도록 만들었다.

 

user 엔티티

@Getter
@Table(name = "users")
@NoArgsConstructor
@Entity
public class Users {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long number;

    @Column
    private String id;

    @Column
    private String pw;

    @Column
    private String name;

    @Builder
    public Users(Long number,String id,String pw,String name){
        this.number=number;
        this.id=id;
        this.pw=pw;
        this.name=name;
    }

}

 

user 레퍼지토리

public interface UserRepository extends JpaRepository <Users,Long> {

  //아이디 중복 확인
  @Query("select count(u) from Users u where u.id=:id")
  int countById(@Param("id") String id);



}

 

user 서비스

    public boolean signupOK(UserVo userVo) {
        //아이디 중복확인

        if(userRepository.countById(userVo.getId())>0){
            System.out.println("이미 존재함");
            return false;
        }
        Users userEntity = Users.builder()
                .number(userVo.getNumber())
                .id(userVo.getId())
                .pw(userVo.getPw())
                .name(userVo.getName())
                .build();

        userRepository.save(userEntity);
        return true;
    }

user 컨트롤러

    //로그인 페이지로
    @GetMapping("/login")
    public String showRegistrationPage() {
        return "login"; // JSP 파일명 (login.jsp)
    }

    //회원가입
    @PostMapping("/signUp")
    public String signupOK(UserVo userVo, Model model){
        boolean check=userService.signupOK(userVo);
        if (check){
            model.addAttribute("check","true");
            return "login";
        }
        else{
            model.addAttribute("check","false");


            return "login";
        }

    }

 

 

다음은 로그인 기능과 로그아웃 기능을 만들 생각이다 

반응형

'자바 공부 > 스프링공부' 카테고리의 다른 글

Jpa를 이용하여 게시판 만들어 보기 3  (0) 2024.08.19
Jpa를 이용하여 게시판 만들어 보기 2  (0) 2024.08.08
Jpa 사용법  (0) 2024.08.04
My Batis 사용법  (0) 2024.07.04
SLF4J 스프링 로그 사용방법  (0) 2024.05.26