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

Nauka Spring - jak połączyć formularz z bazą
BA
  • Rejestracja:ponad 6 lat
  • Ostatnio:ponad 4 lata
  • Postów:19
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:

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

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

Kopiuj
<?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

Kopiuj
<!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?

TY
  • Rejestracja:ponad 8 lat
  • Ostatnio:około 2 lata
  • Postów:204
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:
https://4programmers.net/Mikroblogi/View/31514#entry-31514

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.