Travailler avec les bases de données en Java : PostgreSQL et MongoDB

Formateur Python en ligne pour débutants

Apprenez Python facilement sans surcharge théorique. Résolvez des tâches pratiques avec vérification automatique et écrivez du code directement dans le navigateur.

Start Course
Here is the translated HTML in French. All HTML tags remain exactly as provided; all code blocks, programming language names (e.g., Java, PostgreSQL, MongoDB), and URLs are preserved. Only the human‑readable text has been translated. ```html

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