العمل مع قواعد البيانات في Kotlin: PostgreSQL و MongoDB للمبتدئين

مدرب بايثون أونلاين للمبتدئين

تعلم Python بسهولة دون إرهاق نظري. حل مهام عملية مع التحقق التلقائي واكتب الكود مباشرة في المتصفح.

ابدأ الدورة

مقدمة في العمل مع قواعد البيانات في Kotlin

Kotlin هي لغة برمجة حديثة تُستخدم بنشاط لإنشاء تطبيقات الخادم، وتطوير Android، وخدمات الواجهة الخلفية. من المهارات الأساسية لأي مطور هي القدرة على العمل مع قواعد البيانات. في هذه المقالة، سنشرح كيفية الاتصال بقاعدة البيانات العلائقية PostgreSQL وقاعدة البيانات الوثائقية MongoDB باستخدام Kotlin. المحتوى موجه للمبتدئين: سننظر في تثبيت برامج التشغيل، وإعداد الاتصال، وتنفيذ عمليات CRUD الأساسية (إنشاء، قراءة، تحديث، حذف).



1. إعداد البيئة والتبعيات

للعمل، ستحتاج إلى مشروع Kotlin (على سبيل المثال، باستخدام Gradle أو Maven). سنستخدم Gradle — أداة البناء الأكثر شيوعًا في نظام Kotlin البيئي. أضف التبعيات التالية إلى ملف build.gradle.kts:

dependencies {    // For PostgreSQL    implementation("org.jetbrains.exposed:exposed-core:0.44.1")    implementation("org.jetbrains.exposed:exposed-dao:0.44.1")    implementation("org.jetbrains.exposed:exposed-jdbc:0.44.1")    implementation("org.postgresql:postgresql:42.7.1")

// For MongoDB implementation("org.mongodb:mongodb-driver-kotlin-sync:4.11.1") implementation("org.mongodb:bson-kotlinx:4.11.1")}

Exposed هي مكتبة ORM خفيفة الوزن لـ Kotlin، تُبسط العمل مع قواعد SQL. بالنسبة لـ MongoDB، نستخدم برنامج تشغيل Kotlin الرسمي من MongoDB.



2. العمل مع PostgreSQL عبر Exposed

2.1. الاتصال بقاعدة البيانات

أولاً، لننشئ كائنًا للاتصال بـ PostgreSQL. تأكد من تشغيل خادم PostgreSQL على جهاز الكمبيوتر الخاص بك وإنشاء قاعدة بيانات (على سبيل المثال، testdb).

import org.jetbrains.exposed.sql.Databaseimport org.jetbrains.exposed.sql.transactions.transaction

fun main() { // الاتصال بقاعدة البيانات المحلية Database.connect( url = "jdbc:postgresql://localhost:5432/testdb", driver = "org.postgresql.Driver", user = "postgres", password = "your_password" )

println("تم إنشاء الاتصال بـ PostgreSQL بنجاح")}

بعد الاتصال، يمكن تنفيذ استعلامات SQL. يستخدم Exposed DSL (لغة خاصة بالمجال) لكتابة الاستعلامات بلغة Kotlin.



2.2. إنشاء جدول وعمليات CRUD

لنحدد جدولًا بسيطًا Users مع الحقول id و name و email:

import org.jetbrains.exposed.sql.*import org.jetbrains.exposed.sql.transactions.transaction

object Users : Table() { val id = integer("id").autoIncrement() val name = varchar("name", 50) val email = varchar("email", 100)

override val primaryKey = PrimaryKey(id)}

fun main() { Database.connect(...)

transaction { // إنشاء الجدول SchemaUtils.create(Users)

// INSERT (إنشاء) Users.insert { it[name] = "إيفان بيتروف" it[email] = "ivan@example.com" }

// SELECT (قراءة) val users = Users.selectAll().map { "${it[Users.id]}: ${it[Users.name]} (${it[Users.email]})" } println("المستخدمون: $users")

// UPDATE (تحديث) Users.update({ Users.id eq 1 }) { it[name] = "إيفان سيدوروف" }

// DELETE (حذف) Users.deleteWhere { Users.id eq 1 } }}

كما ترى، الكود مشابه جدًا لـ SQL العادي، لكنه مكتوب بلغة Kotlin الخالصة. يقوم Exposed تلقائيًا بتسلسل الأسماء والحماية من حقن SQL.



3. العمل مع MongoDB عبر Kotlin Driver

3.1. الاتصال بـ MongoDB

MongoDB هي قاعدة بيانات NoSQL، تخزن البيانات في شكل مستندات تشبه JSON. للاتصال، نستخدم برنامج التشغيل المتزامن:

import com.mongodb.kotlin.client.coroutine.MongoClientimport kot                

المدونات

توصيات الكتب