public void addMusician(Musician m) {
   try {
     PreparedStatement stmt =
         conn.prepareStatement(
             "insert into musicians values(0, ?, ?, ?, ?, ?, ?)",
             ResultSet.TYPE_FORWARD_ONLY,
             ResultSet.CONCUR_READ_ONLY);
     stmt.setString(1, m.getUsername());
     stmt.setString(2, m.getPassword());
     stmt.setString(3, m.getFirstName());
     stmt.setString(4, m.getLastName());
     if (m.getBirthdate() == null) {
       stmt.setTimestamp(5, null);
     } else {
       stmt.setTimestamp(5, new java.sql.Timestamp(m.getBirthdate().getTime()));
     }
     if (m.getHabitation() == null) {
       stmt.setNull(6, java.sql.Types.INTEGER);
     } else {
       stmt.setInt(6, m.getHabitation().getId());
     }
     stmt.executeUpdate();
   } catch (SQLException e) {
     System.out.println(e.getMessage());
   }
 }
  public void updateMusician(Musician m) {
    try {
      PreparedStatement stmt =
          conn.prepareStatement(
              "update musicians m set first_name = ?,"
                  + "last_name = ?, birthdate = ?, habitation_id = ?, password = ?",
              ResultSet.TYPE_FORWARD_ONLY,
              ResultSet.CONCUR_READ_ONLY);
      stmt.setString(1, m.getFirstName());
      stmt.setString(2, m.getLastName());
      stmt.setTimestamp(3, new java.sql.Timestamp(m.getBirthdate().getTime()));
      stmt.setInt(4, m.getHabitation().getId());
      stmt.setString(5, m.getPassword());
      stmt.executeUpdate();

      // set instrument_skills
      stmt =
          conn.prepareStatement(
              "delete from instrument_skills where musician_id = ?",
              ResultSet.TYPE_FORWARD_ONLY,
              ResultSet.CONCUR_READ_ONLY);
      stmt.setInt(1, m.getId());
      stmt.executeUpdate();

      for (Instrument i : m.getSkills()) {
        stmt =
            conn.prepareStatement(
                "insert into instrument_skills values(?, ?)",
                ResultSet.TYPE_FORWARD_ONLY,
                ResultSet.CONCUR_READ_ONLY);
        stmt.setInt(1, m.getId());
        stmt.setInt(2, i.getId());
        stmt.executeUpdate();
      }

    } catch (SQLException e) {
      e.printStackTrace();
    }
  }