إعلان
دورة تطوير التطبيقات باستخدام لغة JavaScript في هذه الدورة ستتعلم لغة جافا سكريبت, استخدام مكتبة React.js, بناء API الموقع بواسطة Node.js, تطوير تطبيق جوال باستخدام React Native, و في نهاية الدورة ستتعلم تطوير تطبيق محادثة شبيه بتطبيق WhatsApp. تعلم الآن
دورة تطوير واجهات المستخدم في هذه الدورة ستتعلم لغة HTML و لغة CSS و لغة JavaScript. من ناحية التطبيق العملي ستتعلم طريقة بناء واجهة متجر إلكتروني مكون من ست صفحات, تحويل خمسة تصاميم PSD إلى صفحات ويب, بناء واجهة مستخدم تشبه موقع يوتيوب, بناء لوحة تحكم إحترافية. تعلم الآن
تطوير تطبيقات باستخدام لغة بايثون في هذه الدورة ستتعلم أساسيات البرمجة بلغة بايثون وصولاً إلى التعامل مع أشهر أطر العمل (Flask و Django) و ستتعلم كيف تبني متجر إلكتروني يمكن للمستخدمين البيع و الشراء من خلاله. تعلم الآن
دورة تطوير تطبيقات الويب باستخدام لغة PHP في هذه الدورة ستتعلم لغة PHP من الصفر, استخدام إطار العمل Laravel بشرح مفصّل و عملي, كيفية تطوير شبكة اجتماعية تشبه Instagram, بناء API لتطبيق جوال وفق أسلوب RESTful, تطوير موقع إعلانات مبوبة, تطوير نظام إدارة محتوى CMS كامل. تعلم الآن
دورة تطوير تطبيقات الويب باستخدام لغة Ruby في هذه الدورة ستتعلم البرمجة بلغة Ruby إنطلاقاً من أبسط المفاهيم وحتى بناء تطبيق حقيقي, إستخدام إطار العمل Ruby on Rails بشرح مفصّل و عملي, بناء تطبيق حقيقي عبارة عن شبكة اجتماعية تشبه تويتر, تطوير مجتمع الكتروني يشبه حسوب I/O. تعلم الآن
دورة علوم الحاسوب هذه الدورة معدة لتكون مدخل لعلوم الحاسوب و لغات البرمجة حيث ستتعرف فيها على أنظمة التشغيل و ستتعمق في نظام لينكس و في كيفية التعامل معه من خلال موجه الأوامر, بالإضافة إلى قواعد البيانات و أساسيات الشبكات و الخوادم و مبادئ الحماية والأمان في الويب. تعلم الآن

    Java مثال عملي حول Batch Processing باستخدام الكلاس PreparedStatement في جافا

    في المثال التالي سنفترض أننا سنقوم بالإتصال بقاعدة بيانات إسمها company تمثل قاعدة بيانات لشركة و مبنية بنظام MySQL.
    يوجد في هذه القاعدة جدول خاص للموظفين إسمه employee.

    في البداية سنجهز إستعلام الهدف منه إضافة موظف جديد في جدول الموظفين بناءاً على المعلومات التي يدخلها المستخدم.
    بعدها, سنجعل البرنامج يسأل المستخدم إذا كان يريد إضافة معلومات موظف جديد في قاعدة البيانات أم لا.

    في حال أراد إضافة مستخدم جديد, سيطلب منه إدخال بيانات الموظف, بعدها سيتم وضع الإستعلام في لائحة خاصة تسمى Batch.
    في حال لم يريد إضاف أي مستخدم جديد, سيقوم بتنفيذ جميع الإستعلامات التي تم تجهيزها و بالتالي سيضيف جميع المعلومات التي قام المستخدم بإدخالها سابقاً دفعة واحدة.

    ملاحظة: سنطبق مفهوم الـ Batch Processing باستخدام الإنترفيس PreparedStatement.


    مثال

    Main.java
    // هنا قمنا بإستدعاء الكلاسات و الإنترفيسات التي سنستخدمها للتعامل مع قاعدة البيانات
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
     
    // لأننا سنطلب من المستخدم إدخال بيانات أثناء تشغيل البرنامج Scanner هنا قمنا بإستدعاء الكلاس
    import java.util.Scanner;
     
    public class Main {
     
        public static void main(String[] args) {
     
            // و الذي سنحتاج إليه لإدخال بيانات من المستخدم input إسمه Scanner هنا قمنا بإنشاء كائن من الكلاس
            Scanner input = new Scanner(System.in);
     
            // سنستخدم هذه المتغيرات لحفظ المعلومات التي يدخلها المستخدم عند تشغيل البرنامج
            String firstName;
            String lastName;
            String email;
            String phone;
     
            // سنستخدم قيمة هذا المتغير كشرط أساسي لإدخال أو عدم إدخال مستخدم جديد
            char addUser;
     
            try {
                // الذي سنعتمد عليه للوصول إلى قاعدة البيانات MYSQL Driver هنا قمنا بتحديد رابط الوصول لبرنامج الـ
                Class.forName("com.mysql.jdbc.Driver");
     
                // و الذي سنستخدمه لتحديد المعلومات الأساسية التي نحتاجها للإتصال بقاعدة البيانات Connection هنا قمنا بإنشاء كائن من الكلاس
                Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/company","root","password");
     
                // لا يحفظ أي تحديث نجريه على قاعدة البيانات من البرنامج بشكل تلقائي con هنا جعلنا الكائن
                con.setAutoCommit(false);
     
                // و الذي سنستخدمه لإرسال إستعلامات إلى قاعدة البيانات بناءاً على المعلومات التي يدخلها المستخدم PreparedStatement هنا قمنا بتجهيز كائن نوعه
                PreparedStatement pstmt = con.prepareStatement("INSERT INTO employee(fname,lname,email,phone) VALUES(?,?,?,?)");
     
                // 'y' تساوي addUser هنا أنشأنا حلقة تعيد تكرار ما فيها طالما أن قيمة المتغير
                do {
                    // في كل مرة يريد فيها إدخال بيانات موظف جديد. في حال أدخل حرف آخر لن يطلب منه من جديد 'y' هنا سيطلب من المستخدم إدخال الحرف
                    System.out.print("\nIf you want to add a new user, enter 'y': ");
                    addUser = input.next().charAt(0);
     
                    // سيطلب منه إدخال معلومات الموظف و سيتم تخزين كل واحدة منهم في متغير مختلف 'y' في حال قام المستخدم بإدخال الحرف
                    if(addUser == 'y')
                    {
                        System.out.print("Enter first name: ");
                        firstName = input.next();
     
                        System.out.print("Enter last name: ");
                        lastName = input.next();
     
                        System.out.print("Enter email address: ");
                        email = input.next();
     
                        System.out.print("Enter phone number: ");
                        phone = input.next();
     
                        // هنا قمنا بتمرير قيم المتغيرات التي تحتوي على بيانات الموظف مكان علامات الإستفهام الموضوعة في الإستعلام
                        pstmt.setString(1, firstName);
                        pstmt.setString(2, lastName);
                        pstmt.setString(3, email);
                        pstmt.setString(4, phone);
     
                        // batch هنا قمنا بإضافة الإستعلام في لائحة الخاصة بالـ
                        pstmt.addBatch();
                    }
                }while(addUser == 'y');
     
                // هنا قمنا بتنفيذ الإستعلامات التي قمنا بتجهيزها سابقاً في اللائحة
                pstmt.executeBatch();
     
                // هنا قمنا بحفظ التحديثات التي أجريناها على قاعدة البيانات
                con.commit();
     
                // هنا قمنا بإغلاق الإتصال مع قاعدة البيانات
                con.close();
            }
            catch(Exception e) {
                System.out.println(e.getMessage());
            }
     
        }
     
    }
    		

    قمنا بتعليم البيانات التي إنتظرنا البرنامج لإدخالها من لوحة المفاتيح باللون الأصفر.

    If you want to add a new user, enter 'y': y
    Enter first name: Mhamad
    Enter last name: Harmush
    Enter email address: mhamad@gmail.com
    Enter phone number: 70123456

    If you want to add a new user, enter 'y': y
    Enter first name: Hala
    Enter last name: Hassan
    Enter email address: hala@hotmail.com
    Enter phone number: 76002112

    If you want to add a new user, enter 'y': y
    Enter first name: Jad
    Enter last name: Asmar
    Enter email address: jad@outlook.com
    Enter phone number: 81222345

    If you want to add a new user, enter 'y': n

    الدورات

    أدوات مساعدة

    الأقسام

    دورات
    مقالات أسئلة مشاريع كتب