Formulaire incription utilisateur

This commit is contained in:
jleroy
2024-04-22 15:57:51 +02:00
parent b16b2c8822
commit 071b2f4010
6 changed files with 56 additions and 9 deletions

View File

@@ -21,6 +21,8 @@ dependencies {
testImplementation 'org.springframework.boot:spring-boot-starter-test' testImplementation 'org.springframework.boot:spring-boot-starter-test'
implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.springframework.boot:spring-boot-starter-validation' implementation 'org.springframework.boot:spring-boot-starter-validation'
implementation 'org.springframework.boot:spring-boot-starter-jdbc'
implementation 'org.mariadb.jdbc:mariadb-java-client:2.7.4'
} }
tasks.named('test') { tasks.named('test') {

View File

@@ -5,6 +5,8 @@ import fr.eni.enchere.bo.User;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.ui.Model; import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
@Controller @Controller
@@ -22,4 +24,12 @@ public class InscriptionController {
model.addAttribute("user", new User()); model.addAttribute("user", new User());
return "inscription"; return "inscription";
} }
@PostMapping("/newUser")
public String setUser(@ModelAttribute User user) {
System.out.println(user.getId());
//userService.setUtilisateur(user);
return "redirect:/accueil";
}
} }

View File

@@ -7,7 +7,7 @@ import java.util.List;
public interface UserRepository { public interface UserRepository {
List<User> findAll(); List<User> findAll();
User findById(int id); User findById(int id);
User save(User utilisateur); void save(User utilisateur);
void edit(int id); void edit(int id);
void delete(int id); void delete(int id);
} }

View File

@@ -1,6 +1,11 @@
package fr.eni.enchere.dall; package fr.eni.enchere.dall;
import fr.eni.enchere.bo.User; import fr.eni.enchere.bo.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
import org.springframework.jdbc.support.GeneratedKeyHolder;
import org.springframework.jdbc.support.KeyHolder;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import java.util.List; import java.util.List;
@@ -8,6 +13,13 @@ import java.util.List;
@Repository @Repository
public class UserRepositoryImpl implements UserRepository { public class UserRepositoryImpl implements UserRepository {
private final JdbcTemplate jdbcTemplate;
@Autowired
public UserRepositoryImpl(JdbcTemplate jdbcTemplate) {
this.jdbcTemplate = jdbcTemplate;
}
@Override @Override
public List<User> findAll() { public List<User> findAll() {
return List.of(); return List.of();
@@ -19,8 +31,30 @@ public class UserRepositoryImpl implements UserRepository {
} }
@Override @Override
public User save(User utilisateur) { public void save(User utilisateur) {
return null; if (utilisateur.getId() == 0) {
String sql = "insert into UTILISATEURS (pseudo, nom, prenom, email, telephone," +
" rue, code_postal, ville, mot_de_passe, credit, administrateur)" +
" values (:pseudo, :nom, :prenom, :email, :telephone," +
" :rue, :code_postal, :ville, :mot_de_passe, 0, false)";
KeyHolder keyHolder = new GeneratedKeyHolder();
MapSqlParameterSource parameters = new MapSqlParameterSource();
parameters.addValue("pseudo", utilisateur.getPseudo());
parameters.addValue("nom", utilisateur.getNom());
parameters.addValue("prenom", utilisateur.getPrenom());
parameters.addValue("email", utilisateur.getEmail());
parameters.addValue("telephone", utilisateur.getTelephone());
parameters.addValue("rue", utilisateur.getRue());
parameters.addValue("code_postal", utilisateur.getCode_postal());
parameters.addValue("ville", utilisateur.getVille());
parameters.addValue("mot_de_passe", utilisateur.getPassword());
jdbcTemplate.update(sql, parameters, keyHolder ,new String[] {"id"} );
utilisateur.setId(keyHolder.getKey().intValue());
}else {
//Mettre à jour
}
} }
@Override @Override

View File

@@ -1 +1,5 @@
spring.datasource.url=jdbc:mariadb://91.121.54.36:3306/eni_enchere
spring.datasource.username=eni
spring.datasource.password=Pa$$w0rd
spring.datasource.driver-class-name=org.mariadb.jdbc.Driver

View File

@@ -1,8 +1,7 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="fr"> <html lang="fr" th:replace="~{modele-page :: layout('Inscription',~{::link} , ~{::#container-main})}" xmlns:th="http://www.thymeleaf.org">
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<title>Inscription</title>
</head> </head>
<body> <body>
<!-- Ajouter la page de nav bar --> <!-- Ajouter la page de nav bar -->
@@ -125,11 +124,9 @@
<input type="password" id="password" /> <input type="password" id="password" />
</div> </div>
</div> </div>
<input type="submit" value="Créer"/>
<button>Créer</button>
<button>Annuler</button>
</form> </form>
<a href="/">Annuler</a>
</div> </div>
<!-- Ajouter le footer --> <!-- Ajouter le footer -->
</body> </body>