Początki - program + łączenie z bazą

Początki - program + łączenie z bazą
BA
  • Rejestracja:ponad 6 lat
  • Ostatnio:ponad 4 lata
  • Postów:19
0

Cześć mam do napisania program dotyczący wypożyczalni samochodowej.
To co mam zrealizować to menu: w którym mam 3 opcje: Zaloguj się jako administrator(i tutaj wtedy musze podać poprawne logowanie), Zaloguj się jako gość(tutaj przechodzę dalej) oraz Zarejestruj(czyli rejestruje nowego użytkownika) Na tym etapie nie miałem większych problemów. W bazie stworzyłem sobie tabele Users a w niej(id,login,pass) Tutaj wszystko działa zarówno rejestrowanie jak i logowanie użytkowników. Oto moje klasy:

Kopiuj
public class UserService {
    public static void saveUser(Administrator administrator) {


        try {
            String SQL = "INSERT INTO tuser (login,pass)VALUES(?,?)";
            PreparedStatement preparedStatement = DbHandler.connection.prepareStatement(SQL);



            preparedStatement.setString(1, administrator.getLogin());
            preparedStatement.setString(2, administrator.getPass());


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

    }


    public static boolean authorizeUser(Administrator administrator){
        try {
            String SQL = "SELECT * FROM tuser WHERE login = ?";
            PreparedStatement preparedStatement = DbHandler.connection.prepareStatement(SQL);

            preparedStatement.setString(1,administrator.getLogin());

            ResultSet rs = preparedStatement.executeQuery();

            while (rs.next()) {

                if(rs.getString("pass").equals((administrator.getPass()))) {
                    return true;
                } else{
                    System.out.println("Niepoprawne hasło spróbuj ponownie");
                    return false;
                }
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return false;
    }

}

A teraz przejde do tego na co jakby nie mam koncepcji. Mam 2 rodzaje takich głównych typów(Samochody osobowe, ciężarowe). Mam tez 2 rodzaje podtypów(przypuscmy ze dla aut osobowych będzie to Sedan i Kombi, a dla aut ciezarowych nie wiem Scania i bus)Typy i podtypy musza być z gory ustalone i nie da sie ich usuwac Myslalem tutaj o tym by klasy samochody osobowe i ciężarowe zrobić klasami abstrakcyjnymi a podtypy dziedziczą po tych klasach. Głównym problemem jest to że administrator może
dodawać pojazdy konkretnych podtypów (np. Mercedes e320, która jest samochodem osobowym typu Sedan), wyświetlić listę wszystkich pojazdów oraz listę rezerwacji.
Natomiast gość może wyświetlić listę i zarezerwować wybrany pojazd ale gościem się zajme później, teraz mam pytania odnośnie tego co może robic administrator.
Nie wiem jak się za to zabrać dodawać auta do bazy to mogę jak nowego administratora pojedynczo( i wyciagnac również pojedyczno jakos ) ale czy mogę stworzyć liste samochodow i jakos dodac cala liste do bazy? I nie wiem tez jak nazwac kolumny w bazie danych żeby było rozróżnione na typ czyli np. Sedan na model czyli np. Mercedese320 i na cene czyli np. 500.

Proszę o jakies nakreślenie jak się za to zabrac

BA
  • Rejestracja:ponad 6 lat
  • Ostatnio:ponad 4 lata
  • Postów:19
0

Bo teraz to robiłem tak jak z administratorem czyli osobna metoda dla Sedana i dodawałem tam na takiej zasadzie

Kopiuj
public static void saveSedan(Sedan sedan) {


        try {
            String SQL = "INSERT INTO cars (type,model,price)VALUES(?,?,?)";
            PreparedStatement preparedStatement = DbHandler.connection.prepareStatement(SQL);


            preparedStatement.setString(1,sedan.getType());
            preparedStatement.setString(2,sedan.getModel() );
            preparedStatement.setDouble(3,sedan.getPrice());


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

    }

Ale średnio widzę w tym sens..

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.