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

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:

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

0

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

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..

1 użytkowników online, w tym zalogowanych: 0, gości: 1