Database.java 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. package agenda;
  2. import java.sql.Connection;
  3. import java.sql.DriverManager;
  4. import java.sql.PreparedStatement;
  5. import java.sql.Statement;
  6. import java.util.ArrayList;
  7. public class Database {
  8. private Connection connect = null; //db connection
  9. private PreparedStatement preparedStatement = null; //preparedstatement for filling db with acts
  10. private Statement statement = null; //statement for checking if db already has stages stored
  11. //database values
  12. private String host = "jdbc:mysql://jancokock.me:3306/festivalagenda";
  13. private String user = "projectgroepa6";
  14. private String pass = "tzHnYRbpt7r3z4jt";
  15. private ArrayList<Act> acts;
  16. public Database(Agenda agenda){
  17. acts = (ArrayList<Act>) agenda.getActs();
  18. }
  19. public void writeDatabase() throws Exception {
  20. try {
  21. Class.forName("com.mysql.jdbc.Driver");
  22. connect = DriverManager.getConnection(host,user,pass);
  23. //First delete all act records in DB and set auto increment back to 1
  24. statement = connect.createStatement();
  25. statement.executeUpdate("delete from festivalagenda.acts");
  26. statement.executeUpdate("ALTER TABLE festivalagenda.acts AUTO_INCREMENT = 1");
  27. //insert stage names
  28. for(Act act : acts){
  29. String stage = act.getStage().getName();
  30. String name = act.getName();
  31. String genre = act.getGenre();
  32. String beginTime = act.getActTime().getBeginTimeString();
  33. String endTime = act.getActTime().getEndTimeString();
  34. int popularity = act.getPopularity();
  35. //insert act data into database
  36. preparedStatement = connect.prepareStatement("insert into festivalagenda.acts (stage, begintijd, eindtijd, naam, genre, populariteit) values (?, ?, ?, ?, ?, ?)");
  37. preparedStatement.setString(1, stage);
  38. preparedStatement.setString(2, beginTime);
  39. preparedStatement.setString(3, endTime);
  40. preparedStatement.setString(4, name);
  41. preparedStatement.setString(5, genre);
  42. preparedStatement.setInt(6, popularity);
  43. preparedStatement.executeUpdate();
  44. }
  45. } catch (Exception e) {
  46. throw e;
  47. } finally {
  48. if (preparedStatement != null) {
  49. preparedStatement.close();
  50. }
  51. if (connect != null) {
  52. connect.close();
  53. }
  54. }
  55. }
  56. }