Files
ENI-enchere/src/main/java/fr/eni/enchere/dal/UserRepositoryImpl.java
2024-04-22 22:08:12 +02:00

65 lines
2.5 KiB
Java

package fr.eni.enchere.dal;
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.core.namedparam.NamedParameterJdbcTemplate;
import org.springframework.jdbc.support.GeneratedKeyHolder;
import org.springframework.jdbc.support.KeyHolder;
import org.springframework.stereotype.Repository;
import java.util.List;
@Repository
public class UserRepositoryImpl implements UserRepository {
private final JdbcTemplate jdbcTemplate;
private NamedParameterJdbcTemplate namedParameterJdbcTemplate;
@Autowired
public UserRepositoryImpl(JdbcTemplate jdbcTemplate, NamedParameterJdbcTemplate namedJdbcTemplate) {
this.jdbcTemplate = jdbcTemplate;
this.namedParameterJdbcTemplate = namedJdbcTemplate;
}
@Override
public List<User> findAll() {
return List.of();
}
@Override
public User findById(int id) {
return null;
}
@Override
public void save(User utilisateur) {
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)";
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());
KeyHolder keyHolder = new GeneratedKeyHolder();
namedParameterJdbcTemplate.update(sql, parameters, keyHolder, new String[] {"no_utilisateur"});
if (keyHolder.getKey() != null) {
utilisateur.setId(keyHolder.getKey().intValue());
}
}else {
//Mettre à jour
}
}
@Override
public void delete(int id) {
}
}