Guest User

Untitled

a guest
Apr 19th, 2016
28
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.24 KB | None | 0 0
  1. package gamestudio.service;
  2.  
  3. import gamestudio.entity.Rating;
  4.  
  5. import java.sql.*;
  6. import java.util.ArrayList;
  7. import java.util.List;
  8.  
  9. /**
  10.  * Created by HP on 18.4.2016.
  11.  */
  12.  
  13. public class RatingServiceImpl implements RatingService {
  14.  
  15.     private static final String URL = "jdbc:oracle:thin:@oracle.kpi.fei.tuke.sk:1521:db11g";;
  16.     private static final String LOGIN = "marcelhvozdik";
  17.     private static final String PASSWORD = "marcelhvozdik";
  18.  
  19.  
  20.     private static final String INSERT_STMT =
  21.             "INSERT INTO hodnotenie (player, game, rating) VALUES (?, ?, ?)";
  22.  
  23.     private static final String SELECT_STMT =
  24.             "SELECT player, game, rating FROM hodnotenie WHERE player=? ORDER BY rating DESC";
  25.  
  26.  
  27.  
  28.  
  29.     @Override
  30.     public void addRating(Rating rating) throws RatingException {
  31.  
  32.         try(Connection connection = DriverManager.getConnection(URL, LOGIN, PASSWORD);
  33.             PreparedStatement ps = connection.prepareStatement(INSERT_STMT)) {
  34.             ps.setString(1, rating.getPlayer());
  35.             ps.setString(2, rating.getGame());
  36.             ps.setInt(3, rating.getRating());
  37.             ps.executeUpdate();
  38.         } catch (SQLException e) {
  39.             throw new RatingException("Error saving rating", e);
  40.         }
  41.     }
  42.  
  43.  
  44.  
  45.  
  46.     @Override
  47.     public List<Rating> getBestRating(String game) throws RatingException {
  48.         List<Rating> ratings = new ArrayList<>();
  49.  
  50.         try(Connection connection = DriverManager.getConnection(URL, LOGIN, PASSWORD);
  51.             PreparedStatement ps = connection.prepareStatement(SELECT_STMT)) {
  52.  
  53.             ps.setString(1,game);
  54.             try(ResultSet rs = ps.executeQuery()){
  55.                 while (rs.next()){
  56.                     Rating rating = new Rating(rs.getString(1), rs.getString(2),rs.getInt(3));
  57.                     ratings.add(rating);
  58.                 }
  59.             }
  60.  
  61.         }catch (SQLException e){
  62.             throw new RatingException("Error loading rating",e);
  63.         }
  64.  
  65.     return ratings;
  66.  
  67.  
  68.     }
  69.  
  70.  
  71.     public static void main(String[] args) throws RatingException {
  72.  
  73.         RatingService ratingService = new RatingServiceImpl();
  74.  
  75.         System.out.println(ratingService.getBestRating("TiltMazes"));
  76.  
  77.  
  78.  
  79.     }
  80.  
  81. }
Add Comment
Please, Sign In to add comment