---
# System prepended metadata

title: JDBC
tags: [JDBC]

---

# JDBC

Pour connecter notre base de données à notre application Java, il nous faudra un driver.
Pour installer le JDBC, il nous faudra ajouter une nouvelle dépendance dans le pom.xml.

```
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.27</version>
</dependency>
```
*N'oubliez pas de mettre à jour votre pom.xml en cliquant sur "Now"* 😉.

Dans le repository de notre entité, il faudra créer la connexion : 

```
try {
    Connection connection = DriverManager.getConnection("jdbc:mysql://simplon:1234@localhost:3306/first_jdbc");
} catch (Exception e) {
    e.printStackTrace();
}
```
pour faire la connection il faut entrer le string de ce type :
```
"jdbc:mysql://simplon:1234@localhost:3306/first_jdbc"
```
en décomposant :
- Le type d'API
```
"jdbc:"
```
- le type de SGBD
```
"jdbc:mysql:"
```
- le user et mdp
```
"jdbc:mysql://simplon:1234"
```
- le host et le port utilisé
```
"jdbc:mysql://simplon:1234@localhost:3306"
```
- le nom de la database
```
"jdbc:mysql://simplon:1234@localhost:3306/first_jdbc"
```

### Créer une requêtes 

```
try {
    // Prépare la connexion à la base de données.
    Connection connection = DriverManager.getConnection("jdbc:mysql://simplon:1234@localhost:3306/first_jdbc");
    // On écrit la requêtes souhaitée.
    PreparedStatement stmt = connection.prepareStatement("SELECT * FROM dog");
    // On l'exécute.
    ResultSet result = stmt.executeQuery();
    // On a créé une liste pour y mettre les instances de chien.
    List<Dog> dogList = new ArrayList<>();
    // Il nous faut utiliser une boucle While pour parcourir les données tant qu'il y en a afficher suivante. 
    while (result.next()) {
        Dog dog = new Dog(
            result.getInt("id"),
            result.getString("breed"),
            result.getString("first_name"),
            result.getDate("birthdate").toLocalDate());
        dogList.add(dog);
    }
} catch (Exception e) {
    e.printStackTrace();
}
```

###### tags: `JDBC`
