يشارك هذا البرنامج التعليمي رمز Java المحدد لنظام إدارة تسجيل الطلاب للرجوع إليه. المحتوى المحدد كما يلي
1. تحليل المتطلبات
1.1 التصميم الوظيفي للنظام
(1) أن تكون قادرًا على الاستعلام عن المعلومات الأساسية للطلاب ، مثل: رقم الطالب ، الاسم ، العمر ، الفصل والجنس (2) ، تكون قادرًا على زيادة معلومات الطالب وحذفها وتعديلها في الجدول ووظائف أخرى (3) يمكنها حفظ البيانات في قاعدة بيانات MySQL وتسجيلها (4) يمكن تحديث البيانات من خلال بيانات MySQL
1.2 تصميم وحدة النظام
يتضمن نظام إدارة السجلات الأكاديمية إضافة وحدات معلومات ، وحذف وحدات المعلومات ، وتعديل وحدات المعلومات ، ووحدات المعلومات للاستعلام ، وتحديث وحدات البيانات. يمكن لمسؤولي النظام التحقق من رقم طالب الطلاب ، والاسم ، والجنس ، والعمر ، والجوائز والمعلومات الأخرى.
(لمخططات تصميم بنية النظام المحددة ، يرجى الرجوع إلى الملحق 2)
2. تنفيذ النظام
يستخدم هذا النظام طريقة برمجة لغة Java/JDBC لتحقيق إدارة حالة الطالب.
بتنفيذ قاعدة بيانات MySQL مع Java ، تستخدم هذه التقنية بشكل أساسي استيراد JDBC.JAR ، بحيث يمكن لمبرمجي Java استدعاء فئات وواجهات قاعدة البيانات القياسية بحرية.
يتيح مزيج من JDBC و Java للمستخدمين تنفيذ معظم عمليات قاعدة البيانات بسهولة باستخدام عبارات SQL. إن قابلية الحمل السهلة لـ Java مناسبة لخصائص أنظمة التشغيل المتعددة ويمكنها تلبية احتياجات المستخدم مع JDBC.
2.1 ملفات التخطيط الرئيسية
وفقًا لـ "مبدأ شيء واحد ، مكان واحد" ، يتم وضع البرنامج ويتم كتابة المستندات ذات الصلة للمستخدمين للقراءة. يمكن أيضًا تصدير البيانات الموجودة في MySQL إلى ملف "studinfo.txt" لسهولة الطباعة أو المرجع من قبل المستخدمين. JDBC المستخدم هو الإصدار 5.0.8. 2.2 رمز قطاع الواجهة الرئيسية والشروحه
حزمة JDBC ؛ استيراد java.sql.connection ؛ استيراد java.sql.drivermanager ؛ استيراد java.sql.sqlexception ؛ الفئة العامة testjdbc {public static void main (string [] args) {try // إنشاء اتصال اتصال مع قاعدة البيانات // موجودة قاعدة البيانات في IP: 127.0.0.1 (أصلي) // رقم منفذ قاعدة البيانات: 3306 (رقم منفذ MySQL مخصص) // اسم قاعدة البيانات studinfo // ترميز طريقة UTF-8 // حساب Connection C = Drivermanager. "JDBC: mysql: //127.0.0.1: 3306/studinfo؟ directionDing = utf-8" ، "root" ، "admin") ؛ System.out.println ("الاتصال ناجح ، احصل على كائن الاتصال:" + C) ؛ } catch (classNotFoundException e) {E.PrintStackTrace () ؛ } catch (sqlexception e) {E.PrintStackTrace () ؛ }}}2.2 واجهة داو
package jdbc ؛ import java.util.list ؛ import farment.student ؛ public interface dao {// إضافة void public add (stud student) ؛ // تعديل تحديث الفراغ العام (Study Stud) ؛ // حذف حذف الفراغ العام (int id) ؛ // الحصول على البطل العام GET (int id) ؛ // Query Public List <Student> list () ؛ // Page Query Public List <studture> list (int start ، int count) ؛}// يرجى التحقق من تعليقات التذييل على الصفحة بعد عبارات SQL التفصيلية وتطبيقات التعليمات البرمجية!
2.3 طريقة التصميم
تم اعتماد نموذج التصميم المفرد. عند تصميم وظائف الإضافة والحذف والبحث والتعديل ، تسمى قاعدة البيانات بشكل مستقل لتجنب متاعب الحفاظ على البرنامج في المرحلة اللاحقة. سيقوم هذا البرنامج بشكل مستقل بإخراج وظيفة قاعدة بيانات الاتصال كفئة. يجب استدعاءها فقط عند استخدامها لاحقًا ، دون تنفيذ شرائح كبيرة من رمز اتصال قاعدة البيانات بشكل متكرر ، مما يقلل من التكرار الكود ، والذي يفضي إلى مزيد من تحسين النظام اللاحق ويسهل القراءة من قبل المبرمجين الآخرين.
(ما يلي هو تسهيل قراءة المعلم ، يتم عرض Segleton فقط لاتصالات SQL-Conncet!)
package util ؛ import java.sql.connection ؛ import java.sql.drivermanager ؛ import java.sql.sqlexception ؛ public class dbutil {static string ip = "127.0.0.1" ؛ منفذ int ثابت = 3306 ؛ قاعدة بيانات سلسلة ثابتة = "الطالب" ؛ Static String chigoding = "utf-8" ؛ سلسلة static loginName = "Root" ؛ Static String Password = "Admin" ؛ ثابت {try {class.forname ("com.mysql.jdbc.driver") ؛ } catch (classNotFoundException e) {E.PrintStackTrace () ؛ }} الاتصال الثابت العام getConnection () يلقي sqlexception {string url = string.format ("jdbc: mysql: // ٪ s: ٪ d/٪ s؟ directionDing = ٪ s" ، IP ، port ، database ، الترميز) ؛ إرجاع drivermanager.getConnection (url ، loginname ، كلمة المرور) ؛ }} 2.4 عرض واجهة
استخدم الأزرار لتنفيذ وظائف الإضافة والحذف والتعديل والاستيراد في أسفل الواجهة. يمكنك كتابة معرف الطالب في المربع أدناه لتنفيذ وظيفة الاستعلام (هنا ، على افتراض أن المعرف هو المفتاح الأساسي الوحيد للنظام ، ما عليك سوى الدخول إلى الدخول)
3. عيوب النظام
هناك العديد من الأخطاء في هذا النظام. على سبيل المثال ، عند استيراد البيانات وتصديرها ، لا يمكن القضاء على الخطوط الفارغة بين البيانات الجديدة والبيانات القديمة. عند إدخال رقم الطالب الجديد ، قد يتسبب ذلك في تعارض مع رقم الطالب القديم ، مما يؤدي إلى إيقاف التشغيل التلقائي للبرنامج. بشكل عام ، لا يزال هناك العديد من التحسينات ، ونأمل في إصلاحها أكثر.
ثانياً ، يحتوي البرنامج المصمم هذه المرة على طالب واحد فقط ، وهو عازب نسبيًا ، لذلك ليس من المقلق للغاية تنفيذها. هناك فقط أنه لا يوجد مجال لتنفيذ مخططات ER والتصاميم الأخرى التي تم تعلمها في الفصل. آمل أنه خلال عطلة الشتاء ، يمكن تحقيق الاستعلام بين الطلاب والدورات والمعلمين ، ويمكن تحسين هذا النظام.
4. إيجابيات وسلبيات تنفيذ نظام الملفات وتنفيذ قاعدة البيانات
يستهدف نظام الملفات تطبيقًا معينًا ، مع سوء المشاركة ، وتكرار عالي ، واستقلال بيانات ضعيف ، وهيكل في السجل ، والهيكل العام بدون هيكل ، والذي يتم التحكم فيه بواسطة التطبيق نفسه.
يتم توجيه نظام قاعدة البيانات نحو العالم الحقيقي ، ويحتوي على مشاركة عالية ، وتكرار منخفض ، ولديه استقلال مادي عالٍ وبعض التفرد المنطقي ، ويتم تنظيمه بشكل عام ووصفه نموذج البيانات. يوفر نظام إدارة قاعدة البيانات أمان البيانات والنزاهة والتحكم المتزامن وقدرات الاسترداد. تحسين مشاركة البيانات ؛ تقليل تكرار البيانات وتحسين اتساق البيانات ؛ اعتماد نماذج بيانات معينة لتحقيق بنية البيانات ؛ تتم إدارة البيانات والتحكم فيها بواسطة DBMs ، وهي أكثر مواتية لتشغيل واستخدام الأشخاص غير الحاسوبين ، مما يقلل من تكاليف التعلم. ومع تطوير تكنولوجيا قاعدة البيانات واستخدام برامج اليوم ، لا يدرك المستخدمون استخدام وظائف قاعدة البيانات الخاصة بهم.
التذييل 1: تتم إضافة عبارات SQL في قصاصات الكود وحذفها وحذفها (إن تنفيذ الوظائف متماثل نسبيًا. هنا ، يتم عرض التحديث الأول ، إضافة ، حذف الوظيفة ، ولا يتم عرض الرمز المرهق مرارًا وتكرارًا ، ويتم إدراج رمز المفتاح فقط للرجوع)
1. التنفيذ المحدث
// تحديث رمز التنفيذ Snippet Public Update (Studt Stu) {boolean result = false ؛ if (stu == null) {return return ؛ } جرب {// تحقق إذا (QueryBysNo (stu.getsno ()) == 0) {return result ؛ } // تنفيذ سلسلة التحديث sql = "تحديث معرف Set Student Set =؟ String [] param = {stu.getId () ، stu.getName () ، stu.getClass () ، stu.getsex ()} ؛ int rowcount = db.executeupdate (sql ، param) ؛ if (rowCount == 1) {result = true ؛ }} catch (sqlexception se) {se.printstacktrace () ؛ } أخيرًا {destroy () ؛ } نتيجة الإرجاع ؛ }2. حذف رمز التنفيذ ( التنسيق والتنسيق الفئة متماثلان مثل 1 ، فقط قم بتغيير عبارة SQL)
String SQL = "DELETE من الطالب أين المعرف =؟" ؛ String [] param = {stu.getId ()} ؛3. رمز التنفيذ
String sql = "insert في قيم الطالب (المعرف ، الاسم ، الفصل ، الجنس) (؟ ،؟ ،؟ ،؟)" ؛ String [] param = {stu.getId () ، stu.getName () ، stu.getClass () ، stu.getsex ()} ؛4. تنفيذ الاستعلام (استعلام بناءً على الهوية)
Private int querybyid (string id) يلقي sqlexception {int result = 0 ؛ if ("" .equals (id) || id == null) {return return ؛ } سلسلة checksql = "حدد * من الطالب حيث id =؟" ؛ String [] checkParam = {id} ؛ rs = db.executequery (checksql ، checkparam) ؛ if (rs.next ()) {result = 1 ؛ } نتيجة الإرجاع ؛ }}لمزيد من المواد التعليمية ، يرجى الانتباه إلى الموضوع الخاص "تطوير نظام الإدارة".
ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.