مقدمة للعمل مع قواعد البيانات في Java
تعد Java واحدة من أكثر اللغات شيوعًا لإنشاء تطبيقات المؤسسات، والعمل مع قواعد البيانات جزء لا يتجزأ من هذه المشاريع. في العالم الحديث، غالبًا ما يواجه المطورون خيارًا بين قواعد البيانات العلائقية وغير العلائقية. في هذه المقالة، سندرس بالتفصيل كيفية الاتصال والعمل مع نظامين شائعين: PostgreSQL (قاعدة بيانات علائقية) و MongoDB (قاعدة بيانات NoSQL موجهة للمستندات) من Java. ستتعرف على تكوين برامج التشغيل، وإجراء عمليات CRUD، وأفضل الممارسات.
1. العمل مع PostgreSQL في Java
PostgreSQL هي قاعدة بيانات كائنية-علائقية قوية مفتوحة المصدر. للتفاعل معها من Java، يتم استخدام برنامج تشغيل JDBC (اتصال قاعدة بيانات Java).
1.1 توصيل برنامج تشغيل PostgreSQL
أولاً، أضف التبعية إلى مشروعك (Maven):
<dependency> <groupId>org.postgresql</groupId> <artifactId>postgresql</artifactId> <version>42.7.1</version></dependency>1.2 إنشاء اتصال وتنفيذ الاستعلامات
مثال للاتصال بقاعدة البيانات mydb على خادم محلي:
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()) {
// إنشاء جدول stmt.executeUpdate("CREATE TABLE IF NOT EXISTS users (id SERIAL PRIMARY KEY, name VARCHAR(100), email VARCHAR(100))");
// إدراج بيانات stmt.executeUpdate("INSERT INTO users (name, email) VALUES ('Alice', 'alice@example.com')");
// استرجاع البيانات 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 استخدام PreparedStatement
للحماية من حقن SQL، استخدم دائمًا 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. العمل مع MongoDB في Java
MongoDB هي قاعدة بيانات NoSQL تخزن البيانات في مستندات شبيهة بـ JSON. يتم استخدام برنامج تشغيل MongoDB Java الرسمي للعمل معها.
2.1 توصيل برنامج تشغيل MongoDB
أضف التبعية إلى Maven:
<dependency> <groupId>org.mongodb</groupId> <artifactId>mongodb-driver-sync</artifactId> <version>4.11.1</version></dependency>2.2 الاتصال بقاعدة البيانات وعمليات CRUD
مثال للعمل مع مجموعة 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) { // الاتصال try (MongoClient mongoClient = MongoClients.create("mongodb://localhost:27017")) { MongoDatabase database = mongoClient.getDatabase("mydb"); MongoCollection<Document> collect