Null, über Winterschlaf
Winterschlaf bedeutet Winterschlaf, was sich auf den Winterschlaf von Tieren bezieht, aber der in diesem Artikel diskutierte Winterschlaf hat nichts mit dem Winterschlaf zu tun, ist aber Mitglied des SSH2 -Rahmens, das als nächstes erörtert werden soll. Hibernate ist ein Open -Source -Projekt. Es ist ein Rahmen für Objektrelationsmodelle und hat eine sehr leichte Kapselung von JDBC. Programmierer können Objektprogrammierkenntnisse verwenden, um sich während der Entwicklung zu entwickeln.
Download Adresse: http://hibernate.org/ORM/downloads/
Hinweis: Der Unterschied zwischen leichtem und Schwergewicht. Das leichte Framework -Paket ist kleiner und einfach zu bedienen und leicht zu testen und hat eine hohe Entwicklungseffizienz. Das Schwergewichts -Framework -Paket ist größer und der Geschäftsprozess der internen Verpackung ist komplizierter und schwieriger zu testen, wie z. B. Streben.
Relationalmodell für Objekt:
Hibernate implementiert die Zuordnung von Objektrelationsmodellen. Bei der Programmierung können Programmierer das Objektmodell direkt verwenden, um die Datenbank zu betreiben. IT LETSWEIGHT ist JDBC und verkauft auch SQL -Anweisungen für Datenbankvorgänge, die einfach zu bedienen sind. Obwohl es viele Vorteile hat, wird es schwierig sein, die Verwendung von Datenbankmerkmalen wie gespeicherte Verfahren usw. zu stimmen.
Vor- und Nachteile von Winterschlaf:
(1) Vorteile
A. Produktivität verbessern;
B. Die Entwicklung objektivierter machen (Impedanz -Fehlanpassung);
C. Portabilität;
D. Keine Invasivität und unterstützt Transparenz und Beharrlichkeit.
(2) Nachteile
A. Aussagen mit Datenbankeigenschaften sind schwer zu stimmen.
B. Es gibt Probleme mit großen Datenaktualisierungen.
C. Es gibt eine große Anzahl statistischer Abfragefunktionen im System.
2. Hibernate Beispiel
Der obige Artikel enthält einige vorläufige Interpretationen von Winterschlaf. Mit der Theorie gibt es sicherlich mehr Übung. Sie verstehen seine Bequemlichkeit nicht, ohne Hibernate zu verwenden. Dies ist wie eine Person, die zum ersten Mal gerne Moutai trinkt. Erst nachdem Sie es benutzt haben, können Sie es tiefer verstehen.
Das folgende Beispiel verwendet die MySQL -Datenbank. Eine Datenbank namens Hibernate_First wird in MySQL erstellt. Eine Benutzertabelle wird über die Hibernate -Mapping -Datei mithilfe der Objektprogrammiermethode erstellt und Informationen zur Benutzertabelle hinzufügen.
Spezifische Schritte:
(1) eine normale Java -Anwendung erstellen;
(2) Fügen Sie das JAR -Paket von Hibernate hinzu. Beim Hinzufügen des JAR-Pakets müssen Sie Hibernate.jar, JAR-Pakete von Drittanbietern vorstellen, auf die von Hibernate verwiesen wird, und JAR-Pakete, die mit Hibernate und MySQL verbunden sind.
(3) Fügen Sie die Datenbankverbindungskonfigurationsdatei Hibernate.cfg.xml hinzu.
<xml Version = "1.0" coding = "utf-8"?> <! docType hibernate-configuration public "-// hibernate/hibernate configuration dtd 3.0 // en" "http://hibernate.sourceforge <ssion-factory> <Eigenschaft name = "hibernate.connection.driver_class"> com.mysql.jdbc.driver </property> <property name = "hibernate.connection.url"> jdbc: mysql: // localhost: 3306/hiebernate_first </achbildung </orient> </orient </comant name = "hibernate.connection.username"> root </Eigenschaft> <Eigenschaft name = "hibernate.connection.password"> ab12 </property> <!-Dialekt: Dialekt, die eingekapselte zugrunde liegende API, ähnlich wie die Laufzeit, konvertiert die Datenbank in die entsprechende Sprache in der Konfiguration-> <Eigenschaft, die in der Konfiguration-> <Property, in der Konfiguration-> <Eigenschaft,- name = "hibernate.dialect"> org.hibernate.dialect ressourcen = "com/hibernate/user.hbm.xml"/> </session-factory> </hibernate-configuration>
(4) Erstellen Sie den Namen der Entitätsklassen als user.java
Paket com.hibernate; import Java.util.date; öffentliche Klasse User {private String -ID; public String getid () {return id; } public void setID (String -ID) {this.id = id; } public String getName () {return name; } public void setName (String -Name) {this.name = name; } public String getPassword () {Kennwort zurückgeben; } public void setPassword (String -Passwort) {this.password = password; } public date getCreateTime () {return CreateTime; } public void setCreateTime (Datum CreateTime) {this.createTime = CreateTime; } öffentliches Datum getexpiretime () {return abiretime; } public void setExpiretime (Datumendezeit) {this.expiretime = Expiretime; } privater Zeichenfolge Name; privates Zeichenfolgenkennwort; privates Date Createtime; privates Datum Ablauf; } (5) Erstellen Sie die Mapping -Datei user.hbm.xml der Benutzerentitätsklasse, vervollständigen Sie die Zuordnung der Entitätsklasse und fügen Sie die Datei zur Datei hibernate.cfg.xml hinzu.
<? 3.4.0.cr1-> <hibernate-mapping> <class name = "com.hiNNate.user"> <id name = "id"> <generator/> </id> <Eigenschaft name = "name"/> <Eigenschaft name = "password"/> <Eigenschaft name = "createtime"/> <Eigentumsname ".
(6) Schreiben Sie exportdb.java und konvertieren Sie die Zuordnungsdatei in die entsprechende DDL.
Paket com.hibernate; import org.hibernate.cfg.configuration; import org.hibernate.tool.hbm2ddl.schemaexport; public class exportdb {public static void main (String [] args) {// Deklarieren Sie zuerst, um die Konfigurationsdatei zu erhalten // Standard lesen hibernate.cfg.xml Dateikonfiguration cfg = new configuration (). configure (); // Die Lesen der XML -Datei lesen in DDL SchemaExport export = new SchemaExport (CFG); export.create (wahr, wahr); }} Führen Sie die exportdb -Klasse aus, um die Erstellung der Datenbanktabelle zu vervollständigen. Die Ansicht nach dem Betrachten der spezifischen Operation in CMD lautet wie folgt:
Das obige Beispiel vervollständigt nur den Betrieb der Verbindung mit der Datenbank und das Erstellen von Tabellen in der Datenbank. Nach dem Erstellen der Tabelle müssen Sie der Tabelle Daten hinzufügen, einen Client -Class -Client erstellen und der Benutzertabelle neue Benutzerinformationen hinzufügen. Der spezifische Code lautet wie folgt:
Paket com.hibernate; import Java.util.date; import org.hibernate.session; import org.hiberNate.sessionFactory; import org.hibernate.cfg.configuration; public class Client {public static void main (String [] args) {// Lesen Sie hibernate.cfg.xml Dateikonfiguration cfg = new configuration (). configure (); // SessionFactory erstellen, was einem Datenbankspiegel entspricht. Da SessionFactory ein Spiegel ist, ist es am besten, ihn einmal/normalerweise mit Faden zu erstellen. SessionFactory Factory = cfg.BuildSessionFactory (); // abgerufene Sitzung Sitzung = NULL; try {session = factory.openSession (); // Transaktionssitzung öffnen.BeginTransaction (); User user = new user (); user.setName ("Zhang san"); user.setPassword ("123"); user.setCreateTime (neues Datum ()); // Benutzerobjekt Session.save (Benutzer) speichern; // eng -Transaktionssitzung.Tettransaction (). Commesent (); } catch (Ausnahme e) {e.printstacktrace (); // Fehlermeldung // Rollback -Transaktionssitzung.Gettransaction (). Rollback (); } endlich {if (session! = null) {if (session }}}}}}}}}} Ansicht Informationen in MySQL, wie in der folgenden Abbildung gezeigt:
Die Informationen des oben genannten Vorgangs wurden in die Datenbank geschrieben. Nach dem Speichern der Daten in der Datenbank werden die entsprechenden Zeilen in der Datenbank generiert. Es wurde jedoch noch nicht gerettet. Stattdessen gibt es in der Datenbank entsprechende Datenzeilen. Die Daten werden in die Datenbank übermittelt, nachdem die Transaktionsübermittlung mit der Sitzung abgeschlossen ist.