[java] Java Play Framework에서의 CRUD(Create, Read, Update, Delete) 처리 방법은 어떻게 되나요?

Play Framework는 Java로 개발되어 다양한 웹 애플리케이션을 만들 수 있는 강력한 도구입니다. CRUD 작업은 웹 애플리케이션에서 가장 기본적이고 중요한 작업 중 하나입니다. Play Framework에서는 CRUD 작업을 간단하게 처리할 수 있는 방법을 제공합니다.

  1. Create (생성)
    • 모델 클래스를 생성하고 해당 클래스에는 데이터베이스와 관련된 필드와 메소드를 정의합니다.
    • 컨트롤러 클래스에서 POST 요청을 처리하는 메소드를 작성합니다.
    • 요청 파라미터를 사용하여 모델 객체를 생성하고 저장합니다.
    // 모델 클래스
    public class User extends Model {
        public String name;
        public String email;
        // ...
    }
    
    // 컨트롤러 클래스
    public class UserController extends Controller {
        public Result createUser() {
            Form<User> userForm = Form.form(User.class).bindFromRequest();
            if (userForm.hasErrors()) {
                return badRequest("Invalid data");
            } else {
                User user = userForm.get();
                user.save();
                return ok("User created successfully");
            }
        }
    }
    
  2. Read (읽기)
    • 컨트롤러 클래스에서 GET 요청을 처리하는 메소드를 작성합니다.
    • 요청 파라미터를 사용하여 필요한 데이터를 모델에서 조회하고 반환합니다.
    public class UserController extends Controller {
        public Result getUser(Long id) {
            User user = User.find.byId(id);
            if (user != null) {
                return ok(user.toString());
            } else {
                return notFound("User not found");
            }
        }
    }
    
  3. Update (수정)
    • 컨트롤러 클래스에서 PUT 또는 PATCH 요청을 처리하는 메소드를 작성합니다.
    • 요청 파라미터를 사용하여 수정할 데이터를 조회하고 변경합니다.
    public class UserController extends Controller {
        public Result updateUser(Long id) {
            Form<User> userForm = Form.form(User.class).bindFromRequest();
            if (userForm.hasErrors()) {
                return badRequest("Invalid data");
            } else {
                User user = User.find.byId(id);
                if (user != null) {
                    User updatedUser = userForm.get();
                    user.name = updatedUser.name;
                    user.email = updatedUser.email;
                    // ...
                    user.update();
                    return ok("User updated successfully");
                } else {
                    return notFound("User not found");
                }
            }
        }
    }
    
  4. Delete (삭제)
    • 컨트롤러 클래스에서 DELETE 요청을 처리하는 메소드를 작성합니다.
    • 요청 파라미터를 사용하여 삭제할 데이터를 조회하고 삭제합니다.
    public class UserController extends Controller {
        public Result deleteUser(Long id) {
            User user = User.find.byId(id);
            if (user != null) {
                user.delete();
                return ok("User deleted successfully");
            } else {
                return notFound("User not found");
            }
        }
    }
    

위의 예시 코드는 Play Framework에서 CRUD 작업을 어떻게 처리하는지 간단히 보여줍니다. 실제로는 데이터 유효성 검사, 인증 및 권한 관리 등 추가적인 로직이 필요할 수 있습니다. Play Framework 공식 문서를 참조하여 더 자세한 내용을 확인하시기 바랍니다.

참고: