Travaux pratiques

  • Ajouter la dépendance vers spring-jdbc et vers un driver JDBC :
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-jdbc</artifactId>
</dependency>

<!-- exemple de connecteur jdbc -->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.41</version>
</dependency>
  • Créer une interface dev.paie.service.GradeService :
public interface GradeService {
    void sauvegarder(Grade nouveauGrade);
    void mettreAJour(Grade grade);
    List<Grade> lister();
}
  • Créer une classe dev.paie.service.GradeServiceJdbcTemplate (sans finaliser les méthodes de l'interface) :
@Service
public class GradeServiceJdbcTemplate implements GradeService {

    private JdbcTemplate jdbcTemplate;

    @Autowired
    public GradeServiceJdbcTemplate(DataSource dataSource) {
        super();
        this.jdbcTemplate = new JdbcTemplate(dataSource);
    }

    ...
}

Pour que ce service soit utilisable, il faudrait qu'un bean de type java.sql.DataSource existe.

  • Créer une base de données MySQL sirh-paie et une table grade correspondant à l'entité dev.paie.entite.Grade.

  • Créer une configuration dev.paie.config.DataSourceMySQLConfig :

@Configuration
public class DataSourceMySQLConfig {

    @Bean
    public DataSource dataSource() {
        DriverManagerDataSource dataSource = new DriverManagerDataSource();
        dataSource.setDriverClassName("com.mysql.jdbc.Driver");
        dataSource.setUrl("jdbc:mysql://localhost:3306/sirh-paie?useSSL=false");
        dataSource.setUsername("sirh-paie");
        dataSource.setPassword("sirh-paie");
        return dataSource;
    }

}
  • Créer une classe de test _dev.paie.service.GradeServiceJdbcTemplateTest :
// TODO compléter la configuration
public class GradeServiceJdbcTemplateTest {

    @Autowired private GradeService gradeService;

    @Test
    public void test_sauvegarder_lister_mettre_a_jour() {
        // TODO sauvegarder un nouveau grade

        // TODO vérifier qu'il est possible de récupérer le nouveau grade via la méthode lister

        // TODO modifier un grade

        // TODO vérifier que les modifications sont bien prises en compte via la méthode lister
    }
}
  • Exécuter le test et vérifier qu'il est non passant.

  • Implémenter le service GradeServiceJdbcTemplate pour que le test soit passant. Vérifier que la base de données est bien impactée.

results matching ""

    No results matching ""