Introduction au travail avec les bases de données en Java
Le développement Java moderne se passe rarement d’une interaction avec des systèmes de stockage de données. Le choix entre les bases de données relationnelles (SQL) et non relationnelles (NoSQL) est l’une des tâches architecturales clés. Dans cet article, en prenant comme exemples PostgreSQL (un SGBDR relationnel classique) et MongoDB (un NoSQL orienté documents), nous analyserons les principales approches, les bonnes pratiques et fournirons des exemples de code prêts à l’emploi. Ce contenu sera utile aussi bien aux débutants qu’aux développeurs expérimentés souhaitant systématiser leurs connaissances.
1. Connexion à PostgreSQL et travail avec celui-ci en Java
1.1 Configuration du pilote JDBC
PostgreSQL est l’une des bases de données relationnelles les plus populaires. Le pilote JDBC est utilisé pour travailler avec elle depuis Java. Ajoutez la dépendance dans pom.xml (Maven) :
<dependency> <groupId>org.postgresql</groupId> <artifactId>postgresql</artifactId> <version>42.6.0</version></dependency>Après avoir ajouté le pilote, vous pouvez établir une connexion :
import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;
public class PostgresConnection { public static void main(String[] args) { String url = "jdbc:postgresql://localhost:5432/mydb"; String user = "admin"; String password = "secret";
try (Connection conn = DriverManager.getConnection(url, user, password)) { System.out.println("Connexion à PostgreSQL établie !"); } catch (SQLException e) { e.printStackTrace(); } }}1.2 Opérations CRUD (Créer, Lire, Mettre à jour, Supprimer)
Examinons un exemple de travail avec la table users. Créer un enregistrement :
String insertSQL = "INSERT INTO users (name, email) VALUES (?, ?)";try (PreparedStatement pstmt = conn.prepareStatement(insertSQL)) { pstmt.setString(1, "Ivan Petrov"); pstmt.setString(2, "ivan@example.com"); pstmt.executeUpdate();}Lire les données :
String selectSQL = "SELECT * FROM users WHERE id = ?";try (PreparedStatement pstmt = conn.prepareStatement(selectSQL)) { pstmt.setInt(1, 1); ResultSet rs = pstmt.executeQuery(); while (rs.next()) { System.out.println(rs.getString("name") + " - " + rs.getString("email")); }}La mise à jour et la suppression s’effectuent de manière similaire via UPDATE et DELETE en utilisant PreparedStatement. Utilisez toujours des requêtes paramétrées — cela protège contre les injections SQL.
1.3 Utilisation d’un pool de connexions (HikariCP)
En production, il n’est pas recommandé d’ouvrir une nouvelle connexion pour chaque requête. Utilisez un pool de connexions. Ajoutez la dépendance :
<dependency> <groupId>com.zaxxer</groupId> <artifactId>HikariCP</artifactId> <version>5.0.1</version></dependency>Configuration :
HikariConfig config = new HikariConfig();config.setJdbcUrl("jdbc:postgresql://localhost:5432/mydb");config.setUsername("admin");config.setPassword("secret");config.setMaximumPoolSize(10);
HikariDataSource ds = new HikariDataSource(config);Connection conn = ds.getConnection();2. Connexion à MongoDB et travail avec celui-ci en Java
2.1 Configuration du pilote Java MongoDB
MongoDB stocke les données dans des documents de type JSON. Le pilote officiel est utilisé pour travailler avec lui. Dépendance Maven :
<dependency> <groupId>org.mongodb</groupId> <artifactId>mongodb-driver-sync</artifactId> <version>4.10.2</version></dependency>Connexion à une base de données locale :
Blogs
Book Recommendations
Lire aussi
Typage des objets en TypeScript 2025 : guide sans blabla
Tests de bout en bout Java : de A à Z avec des exemples concrets
Go en 2025 : quoi de neuf et pourquoi c'est important pour les développeurs
PHP en projets réels : cas concrets de géants et leçons pour développeurs
Microservices en C# (.NET) : architecture et pratique