Introduction au travail avec les bases de données en Java
Java est l'un des langages les plus populaires pour créer des applications d'entreprise, et le travail avec les bases de données (BD) est une partie essentielle de tels projets. Dans le monde moderne, les développeurs sont souvent confrontés au choix entre les bases de données relationnelles et non relationnelles. Dans cet article, nous allons détailler comment se connecter et travailler avec deux systèmes populaires : PostgreSQL (BD relationnelle) et MongoDB (BD NoSQL orientée documents) depuis Java. Vous découvrirez la configuration des pilotes, l'exécution des opérations CRUD et les meilleures pratiques.
1. Travail avec PostgreSQL en Java
PostgreSQL est une base de données objet-relationnelle puissante et open source. Pour interagir avec elle depuis Java, on utilise le pilote JDBC (Java Database Connectivity).
1.1 Connexion du pilote PostgreSQL
Pour commencer, ajoutez la dépendance à votre projet (Maven) :
<dependency> <groupId>org.postgresql</groupId> <artifactId>postgresql</artifactId> <version>42.7.1</version></dependency>1.2 Établissement de la connexion et exécution des requêtes
Exemple de connexion à la base de données mydb sur le serveur local :
import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.Statement;
public class PostgresExample { public static void main(String[] args) { String url = "jdbc:postgresql://localhost:5432/mydb"; String user = "postgres"; String password = "password";
try (Connection conn = DriverManager.getConnection(url, user, password); Statement stmt = conn.createStatement()) {
// Création de la table stmt.executeUpdate("CREATE TABLE IF NOT EXISTS users (id SERIAL PRIMARY KEY, name VARCHAR(100), email VARCHAR(100))");
// Insertion de données stmt.executeUpdate("INSERT INTO users (name, email) VALUES ('Alice', 'alice@example.com')");
// Sélection de données ResultSet rs = stmt.executeQuery("SELECT * FROM users"); while (rs.next()) { System.out.println("ID: " + rs.getInt("id") + ", Name: " + rs.getString("name")); } } catch (Exception e) { e.printStackTrace(); } }}1.3 Utilisation de PreparedStatement
Pour vous protéger des injections SQL, utilisez toujours PreparedStatement :
String sql = "INSERT INTO users (name, email) VALUES (?, ?)";try (PreparedStatement pstmt = conn.prepareStatement(sql)) { pstmt.setString(1, "Bob"); pstmt.setString(2, "bob@example.com"); pstmt.executeUpdate();}2. Travail avec MongoDB en Java
MongoDB est une base de données NoSQL qui stocke les données sous forme de documents de type JSON. Pour travailler avec elle, on utilise le MongoDB Java Driver officiel.
2.1 Connexion du pilote MongoDB
Ajoutez la dépendance dans Maven :
<dependency> <groupId>org.mongodb</groupId> <artifactId>mongodb-driver-sync</artifactId> <version>4.11.1</version></dependency>2.2 Connexion à la base de données et opérations CRUD
Exemple de travail avec la collection users :
import com.mongodb.client.MongoClient;import com.mongodb.client.MongoClients;import com.mongodb.client.MongoCollection;import com.mongodb.client.MongoDatabase;import org.bson.Document;
public class MongoDBExample { public static void main(String[] args) { // Connexion try (MongoClient mongoClient = MongoClients.create("mongodb://localhost:27017")) { MongoDatabase database = mongoClient.getDatabase("mydb"); MongoCollection<Document> collect