购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.6.2 定义数据模型

首先创建Movie类,用来表示电影的各种属性,包括标题、导演、简介以及海报链接。此外,它还包含一个静态列表,用于模拟存储和操作电影数据的数据库。

Movie类的实现代码如下。

    public class Movie {
        private Long id;                                        // 电影的唯一标识
        private String title;                                   // 电影标题
        private String director;                                // 导演
        private String description;                             // 电影简介
        private String posterUrl;                               // 海报图片的 URL
 
        // 静态列表模拟数据库
        private static List<Movie> movies = new ArrayList<>();
        // 省略构造函数、getters、setters
        // 使用静态方法来模拟数据库操作
        public static List<Movie> getAllMovies() {
            return new ArrayList<>(movies);
        }
        public static void addMovie(Movie movie) {
            movie.setId((long) (movies.size() + 1));            // 简单的 ID 赋值逻辑
            movies.add(movie);
        }
       public static Movie getMovieById(Long id) {
           return movies.stream()
                   .filter(movie -> movie.getId().equals(id))
                   .findFirst()
                   .orElse(null);
       }
       public static void deleteMovie(Long id) {
           movies.removeIf(movie -> movie.getId().equals(id));
       }
    }

Movie类的功能如下。

getAllMovies():返回所有电影的列表。

addMovie(Movie movie):向列表中添加一个新电影。

getMovieById(Long id):根据ID查找并返回相应的电影。

deleteMovie(Long id):根据ID删除对应的电影。

Comment类用于表示用户对电影的评论和评分,代码如下。

    public class Comment {
        private Long id;                                              // 评论的唯一标识
        private Movie movie;                                          // 关联的电影对象
        private String content;                                       // 评论内容
        private Integer rating;                                       // 用户评分
 
        // 使用静态列表模拟数据库
        private static List<Comment> comments = new ArrayList<>();
        // 省略构造函数、getters、setters
        // 使用静态方法来模拟数据库操作
        public static List<Comment> getCommentsByMovieId(Long movieId) {
            return comments.stream()
                    .filter(comment -> comment.getMovie().getId().equals(movieId))
                    .collect(Collectors.toList());
        }
        public static void addComment(Comment comment) {
            comment.setId((long) (comments.size() + 1));              // 简单的ID赋值逻辑
            comments.add(comment);
        }
    }

Comment类的功能如下。

getCommentsByMovieId():根据电影ID查找评论。

addComment():添加电影评论。 uPOc8QWqJlFBKIf4iAEMyz5AcJJyi5aQw/zd6/gShDpqnZzMpbwhl7PikogP1tYx

点击中间区域
呼出菜单
上一章
目录
下一章
×