صفر ، حول السبات
السبات يعني السبات ، الذي يشير إلى سبات الحيوانات ، لكن السبات الذي تمت مناقشته في هذه المقالة لا علاقة له بالإسبات ، ولكنه عضو في إطار عمل SSH2 الذي سيتم مناقشته بعد ذلك. السبات هو مشروع مفتوح المصدر. إنه إطار للنماذج العلمية للكائنات ولديه تغليف خفيف الوزن للغاية من JDBC. يمكن للمبرمجين استخدام تفكير برمجة الكائنات للتطوير أثناء التطوير.
تنزيل عنوان: http://hibernate.org/orm/downloads/
ملاحظة: الفرق بين الوزن الخفيف والوزن الثقيل. حزمة إطار العمل الخفيفة أصغر وبسيطة للاستخدام ، وسهلة الاختبار ولديها كفاءة تطوير عالية. تعد حزمة إطار العمل الثقيلة أكبر ، وعملية العمل في العبوة الداخلية أكثر تعقيدًا ويصعب اختبارها ، مثل الدعامات.
نموذج الكائن العلائقي:
ينفذ السبات من تعيين نماذج الكائنات. عند البرمجة ، يمكن للمبرمجين استخدام نموذج الكائن مباشرة لتشغيل قاعدة البيانات. إنه يغطى الوزن الخفيف JDBC ويغلف أيضًا عبارات SQL لعمليات قاعدة البيانات ، والتي تكون بسيطة للاستخدام. على الرغم من أن لديها العديد من المزايا ، سيكون من الصعب ضبط البيانات مع خصائص قاعدة البيانات ، مثل الإجراءات المخزنة ، إلخ.
إيجابيات وسلبيات السبات:
(1) المزايا
أ. تحسين الإنتاجية ؛
ب. جعل التنمية أكثر اعتمادًا (عدم تطابق المعاوقة) ؛
قابلية النقل.
لا يوجد غزو ويدعم الشفافية والمثابرة.
(2) عيوب
أ. من الصعب ضبط البيانات التي تستخدم خصائص قاعدة البيانات ؛
هناك مشاكل في تحديثات البيانات على نطاق واسع ؛
هناك عدد كبير من وظائف الاستعلام الإحصائية في النظام.
2. مثال السبات
توفر المقالة أعلاه بعض التفسيرات الأولية للإسبات. مع النظرية ، هناك بالتأكيد المزيد من الممارسة. أنت لا تفهم راحتها دون استخدام السبات. هذا تمامًا مثل الشخص الذي يحب شرب الأذواق Moutai لأول مرة. فقط بعد استخدامه ، هل يمكنك فهمه بعمق أكبر.
يستخدم المثال التالي قاعدة بيانات MySQL. يتم إنشاء قاعدة بيانات تسمى Hibernate_First في MySQL. يتم إنشاء جدول مستخدم من خلال ملف تعيين Hibernate باستخدام طريقة برمجة الكائن وإضافة معلومات إلى جدول المستخدم.
خطوات محددة:
(1) إنشاء تطبيق Java عادي ؛
(2) أضف حزمة جرة من السبات. عند إضافة حزمة JAR ، تحتاج إلى تقديم hibernate.jar ، وحزم جرة من طرف ثالث مشار إليها من قبل Hibernate ، وحزم جرة متصلة بـ Hibernate و MySQL.
(3) إضافة ملف تكوين اتصال قاعدة البيانات hibernate.cfg.xml.
<؟ <Session-Factory> <property name = "hibernate.connection.driver_class"> com.mysql.jdbc.driver </property> <property name = "hibernate.connection.url"> jdbc: mysql: // localhost: 3306/hibernate_first </spertar <property name = "hibernate.connection.password"> ab12 </property> <!-لهجة: لهجة ، واجهة برمجة التطبيقات الأساسية المغلفة ، على غرار وقت التشغيل ، يحول قاعدة البيانات إلى اللغة المقابلة في التكوين-> <property name = "hibernate.dialect"> org.hibernate.dialect <property name = "hibernate.show_sql"> true </property> <property name = "hibernate.format_sql"> true </spleneration> <mapping resource = "com/hibernate
(4) إنشاء اسم فئة الكيان كـ user.java
حزمة com.hibernate ؛ استيراد java.util.date ؛ مستخدم الفئة العامة {معرف السلسلة الخاص ؛ السلسلة العامة getId () {معرف الإرجاع ؛ } public void setId (string id) {this.id = id ؛ } السلسلة العامة getName () {return name ؛ } public void setName (اسم السلسلة) {this.name = name ؛ } السلسلة العامة getPassword () {return password ؛ } public void setPassword (سلسلة كلمة مرور) {this.password = password ؛ } التاريخ العام getCreateTime () {return createTime ؛ } public void setCreateTime (DateTeTime) {this.createTime = createTime ؛ } التاريخ العام getExpiretime () {return Expiretime ؛ } public void setExpiretime (Date Expiretime) {this.expiretime = Expiretime ؛ } اسم السلسلة الخاصة ؛ كلمة مرور السلسلة الخاصة ؛ تاريخ خاص CreateTime ؛ موعد خاص انتهاء الصلاحية ؛ } (5) إنشاء ملف التعيين user.hbm.xml من فئة كيان المستخدم ، أكمل تعيين فئة الكيان ، وأضف الملف إلى ملف hibernate.cfg.xml.
<؟ -> <hibernate mapping> <class name = "com.hibernate.user"> <name = "id"> <generator/> </id> <property name = "name"/> <property name = "password"/> <property name = "createTime"/>
(6) اكتب ExportDB.Java وتحويل ملف التعيين إلى DDL المقابل.
حزمة com.hibernate ؛ استيراد org.hibernate.cfg.configuration ؛ استيراد org.hibernate.tool.hbm2ddl.schemaexport ؛ الفئة العامة exportdb {public static void main (string [] args) {// أول إعلان الحصول على ملف التكوين // الافتراضي قراءة hibernate.cfg.xml تكوين ملف cfg = جديد التكوين (). تكوين () ؛ // تصدير ملف القراءة XML إلى Schemaexport SchemoSport = مخطط جديد (CFG) ؛ export.create (صحيح ، صحيح) ؛ }} قم بتشغيل فئة ExportDB لإكمال إنشاء جدول قاعدة البيانات. العرض بعد عرض العملية المحددة في CMD كما يلي:
يكمل المثال أعلاه فقط تشغيل الاتصال بقاعدة البيانات وإنشاء جداول في قاعدة البيانات. بعد إنشاء الجدول ، تحتاج إلى إضافة بيانات إلى الجدول ، وإنشاء عميل فئة عميل ، وإضافة معلومات مستخدم جديدة إلى جدول المستخدم. الرمز المحدد كما يلي:
حزمة com.hibernate ؛ استيراد java.util.date ؛ استيراد org.hibernate.session ؛ استيراد org.hibernate.SessionFactory ؛ استيراد org.hibernate.cfg.configuration ؛ عميل الفئة العامة {public static void main (string [] args) {// read hibernate.cfg.xml configuration cfg = new configuration (). configure () ؛ // إنشاء SessionFactory ، وهو ما يعادل مرآة قاعدة البيانات. نظرًا لأن SessionFactory عبارة عن مرآة ، فمن الأفضل إنشائها مرة واحدة/عادةً ما تكون آمنة لخيط الخيط. SessionFactory Factory = cfg.buildSessionFactory () ؛ // جلسة جلسة جلسة جلب = فارغة ؛ حاول {session = factory.opensession () ؛ // Open Transaction Session.BeginTransaction () ؛ مستخدم المستخدم = مستخدم جديد () ؛ user.setName ("Zhang San") ؛ user.setPassword ("123") ؛ user.setCreateTime (Date ()) ؛ // حفظ كائن المستخدم Session.save (user) ؛ // الالتزام بالمعاملة Session.getTransaction (). الالتزام () ؛ } catch (استثناء e) {e.printstacktrace () ؛ // طباعة رسالة خطأ // التراجع Session.getTransaction (). Rollback () ؛ } أخيرًا {if (session! = null) {if (session.isopen ()) {// close session.close () ؛ }}}}}}}}} عرض المعلومات المضافة في MySQL كما هو موضح في الشكل التالي:
تمت كتابة معلومات العملية أعلاه إلى قاعدة البيانات. بعد حفظ البيانات في قاعدة البيانات ، يتم إنشاء الصفوف المقابلة في قاعدة البيانات. ومع ذلك ، لم يتم حفظه بعد. بدلاً من ذلك ، هناك صفوف مقابلة من البيانات في قاعدة البيانات. يتم إرسال البيانات إلى قاعدة البيانات بعد اكتمال تقديم المعاملة باستخدام الجلسة.