Nauka Spring - jak połączyć formularz z bazą

0

Cześć uczę się Javy, chciałem sobie zrobić formularz, który zapisuje dane w bazie i w związku z tym mam kilka pytań.
Oczywiście najpierw stworzyłem sobie klasę Person dałem pola name, password , gettery i setery. Następnie w pliku html stworzyłem sobie prosty formularz:

<form method="post" th:object="${person}" id="superForm">
    <center> <input type="text" th:field="*{name}" class="specialInput" id="input1" placeholder="Podaj Login"></center>
    <center><input type="text" th:field="*{password}" class="specialInput" id="input2" placeholder="Podaj Hasło"></center>
    <center> <input type="submit" value="Zaloguj"></center>
</form>

oraz stworzyłem klasę Controller z metodami, zrobiłem jakąs tam prostą walidację itp. no i rzeczywiście to działa po wpisaniu loginu i hasła przenosi mnie na inną stronę a przy błędzie muszę wpisać ponownie.

@Controller
public class IndexController {

    @RequestMapping(method = RequestMethod.GET, value = "formWithPojo")
    public String formWithPojo(Model model ) {
        model.addAttribute("person", new Person());
        return "formWithPojo";
    }

    @RequestMapping(method = RequestMethod.POST, value = "formWithPojo")
        public String formWithPojo1(@ModelAttribute Person person, @Valid formWithPojoDTO formWithPojoDTO, BindingResult result ){
        if(result.hasErrors()) {
            return "formWithPojo";
        }else
            return "redirect:/menu1";
            }

Chciałbym to teraz połączyć z Hibernate żeby w przypadku każdego logowania dodawało mi po prostu do bazy login i hasło . Korzystam z Xampa. Dodałem oczywiście w dependencies odpowiednie rzeczy do Hibernate i stworzyłem taki pliczek żeby mieć połączenie z bazą itp.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
        "http://hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
    <session-factory>
        <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
        <property name="hibernate.connection.url">jdbc:mysql://localhost:3308/carrent?useJDBCCompliantTimezoneShift=true&amp;useLegacyDatetimeCode=false&amp;serverTimezone=UTC</property>
        <property name="hibernate.connection.username">root</property>
        <property name="hibernate.connection.password"></property>

        <property name="hibernate.show_sql">true</property>
        <property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property>
        <property name="hbm2ddl.auto">create</property>
       

    </session-factory>
</hibernate-configuration>

Do tej pory jak się uczyłem samego hibernate to po prostu robiłem mapowanie , tworzyłem sobie plik odpowiadający nazwie klasy np.Person.hbm.xml w main robiłem otwarcie sesji i metodę która zapisuje po prostu poprzez settery użytkownika do bazy jednak kompletnie nie wiem jak to połączyć z formularzem. I jeszcze jedno pytanie jak chce zrobić żeby zwykłe kliknięcie na jakiś przycisk przekierowało mnie na konkretną stronę to jak to zrobić(używać wgl submit czy buton)? np. mam taki plik html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" href="style.css"/>
</head>
<body>

<center> <input type="submit" value="Zaloguj jako admin"  class="specialInput1" id="input11"></center>
<center> <input type="submit" value="Zaloguj jako gość" class="specialInput1" id="input12"></center>
<center> <input type="submit" value="Zarejestruj" class="specialInput1" id="input13"></center>
</body>
</html>

i chciałbym żeby kliknięcie w Zaloguj jako admin np. przekierowało mnie do logowania, a zarejestruj do rejestracji itp. Jak taką metodę napisać w kontrolerze?

1

Jeśli uczysz się javy, to proponuję unikać technologiczych zombiaków jak JSP i Springowych widoków, tylko przesiąść się na to, co sie faktycznie robi, czyli RESTowe api z jakimś frameworkiem frontowym
Polecam poniższy post:
Początki w java, a technolog...

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