L’exécution de requêtes SQL et la manipulation des données sont des tâches courantes dans le développement d’applications Java qui interagissent avec des bases de données. Avec l’utilisation de l’API JDBC (Java Database Connectivity), il est possible de créer, lire, mettre à jour et supprimer des données dans une base de données relationnelle. Cet article explore en détail les différentes étapes pour exécuter des requêtes SQL et manipuler les données en Java.
1. Exécution de requêtes SQL
Pour exécuter des requêtes SQL en Java, vous devez d’abord établir une connexion à la base de données en utilisant JDBC, comme décrit dans l’article précédent. Une fois la connexion établie, vous pouvez utiliser l’objet Statement
pour exécuter des requêtes SQL simples. Voici un exemple d’exécution d’une requête de sélection :
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class QueryExecution {
public static void main(String[] args) {
String url = "jdbc:mysql://localhost:3306/mydatabase";
String username = "root";
String password = "password";
try (Connection connection = DriverManager.getConnection(url, username, password);
Statement statement = connection.createStatement()) {
String query = "SELECT * FROM users";
ResultSet resultSet = statement.executeQuery(query);
while (resultSet.next()) {
String username = resultSet.getString("username");
String email = resultSet.getString("email");
System.out.println("Username: " + username + ", Email: " + email);
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
Dans cet exemple, nous exécutons une requête de sélection pour récupérer toutes les lignes de la table « users » et afficher les noms d’utilisateur et les adresses e-mail correspondantes.
2. Manipulation des données
Outre l’exécution de requêtes de sélection, JDBC permet également de manipuler les données en exécutant des requêtes de modification telles que les insertions, les mises à jour et les suppressions. Voici quelques exemples :
2.1. Insertion de données
String insertQuery = "INSERT INTO users (username, email) VALUES ('john', 'john@example.com')";
statement.executeUpdate(insertQuery);
2.2. Mise à jour de données
String updateQuery = "UPDATE users SET email='newemail@example.com' WHERE username='john'";
statement.executeUpdate(updateQuery);
2.3. Suppression de données
String deleteQuery = "DELETE FROM users WHERE username='john'";
statement.executeUpdate(deleteQuery);
3. Utilisation de PreparedStatement
Pour des requêtes SQL plus complexes ou pour éviter les injections SQL, il est recommandé d’utiliser des objets PreparedStatement
. Voici un exemple :
String username = "john";
String email = "john@example.com";
String insertQuery = "INSERT INTO users (username, email) VALUES (?, ?)";
PreparedStatement preparedStatement = connection.prepareStatement(insertQuery);
preparedStatement.setString(1, username);
preparedStatement.setString(2, email);
preparedStatement.executeUpdate();
L’utilisation de PreparedStatement
permet de préparer la requête avec des paramètres, ce qui les rend sécurisés contre les attaques d’injection SQL.
Conclusion
L’exécution de requêtes SQL et la manipulation des données en Java avec JDBC sont des compétences essentielles pour les développeurs d’applications d’entreprise. En suivant les étapes décrites dans cet article, vous pouvez interagir de manière efficace avec une base de données relationnelle, exécuter des requêtes SQL et manipuler les données selon vos besoins. Assurez-vous de gérer correctement les exceptions et de fermer les ressources JDBC après utilisation pour éviter les problèmes de fuite de ressources. Avec une bonne compréhension de JDBC, vous pouvez développer des applications robustes qui stockent et gèrent efficacement les données.