Example #1
0
 private Movie createMovie(ResultSet rs) throws SQLException {
   long priceCategory = rs.getLong("PRICECATEGORY_FK");
   Movie m =
       new Movie(
           rs.getString("MOVIE_TITLE"),
           rs.getDate("MOVIE_RELEASEDATE"),
           priceCategoryDao.getById(priceCategory));
   m.setId(rs.getLong("MOVIE_ID"));
   m.setRented(rs.getBoolean("MOVIE_RENTED"));
   return m;
 }
Example #2
0
  @Override
  public void saveOrUpdate(Movie movie) {
    Connection conn = null;
    try {
      conn = ds.getConnection();

      PreparedStatement pst;
      if (movie.getId() == null) { // insert
        long id = 0;
        Statement st = conn.createStatement();
        ResultSet rs = st.executeQuery("select max(MOVIE_ID) from MOVIES");
        if (rs.next()) {
          id = rs.getLong(1) + 1;
        }
        movie.setId(id);

        pst =
            conn.prepareStatement(
                "INSERT INTO MOVIES (MOVIE_ID, MOVIE_TITLE, MOVIE_RELEASEDATE, MOVIE_RENTED, PRICECATEGORY_FK) VALUES (?,?,?,?,?)");
        pst.setLong(1, id);
        pst.setString(2, movie.getTitle());
        pst.setDate(3, new Date(movie.getReleaseDate().getTime()));
        pst.setBoolean(4, movie.isRented());
        pst.setLong(5, movie.getPriceCategory().getId());
        pst.execute();
      } else { // update
        pst =
            conn.prepareStatement(
                "UPDATE MOVIES SET MOVIE_TITLE=?, MOVIE_RELEASEDATE=?, MOVIE_RENTED=?, PRICECATEGORY_FK=? where MOVIE_ID=?");
        pst.setLong(5, movie.getId());
        pst.setString(1, movie.getTitle());
        pst.setDate(2, new Date(movie.getReleaseDate().getTime()));
        pst.setBoolean(3, movie.isRented());
        pst.setLong(4, movie.getPriceCategory().getId());
        pst.execute();
      }
    } catch (SQLException e) {
      throw new RuntimeException(e);
    } finally {
      if (conn != null) {
        try {
          conn.close();
        } catch (SQLException e) {
          throw new RuntimeException(e);
        }
      }
    }
  }
Example #3
0
 @Override
 public void delete(Movie movie) {
   Connection conn = null;
   try {
     conn = ds.getConnection();
     Statement st = conn.createStatement();
     st.execute("delete from MOVIES where MOVIE_ID = " + movie.getId());
     movie.setId(null);
   } catch (SQLException e) {
     throw new RuntimeException(e);
   } finally {
     if (conn != null) {
       try {
         conn.close();
       } catch (SQLException e) {
         throw new RuntimeException(e);
       }
     }
   }
 }