Heim  >  Artikel  >  Java  >  Einführung in die ORM-Zuordnung mithilfe von Annotationen

Einführung in die ORM-Zuordnung mithilfe von Annotationen

零下一度
零下一度Original
2017-07-23 14:18:111982Durchsuche

In den letzten zwei Jahren haben immer mehr Projekte Annotationen für die ORM-Zuordnung einiger relativ stabiler Entitätsklassen verwendet, was die Programmierung prägnanter und einfacher macht. Tatsächlich gibt es im Betriebsprozess zwischen der Verwendung von Annotationen für die ORM-Zuordnung und der Verwendung von XML für die Zuordnung nicht viele Änderungen. Die Hauptschritte sind: Pakete importieren, annotierte Entitätsklassen schreiben, Kernkonfigurationsdateien schreiben und Testklassen schreiben.

Der Projektcode wurde auf GitHub hochgeladen: Projektname: HibernateUseAnnotation

Die gesamte Projektstruktur ist wie folgt:

1. Paket importieren

 Der Autor verwendet eine MySQL-Datenbank, also die importierten Daten Das Paket lautet wie folgt:

2. Entitätsklassen schreiben

Anmerkungen für die Zuordnung erfolgen grundsätzlich in Javax .persistence. *Definitionen im Paket, die wichtigsten, die ich häufig verwende, sind die folgenden vier:

@Entity-Annotation markiert diese Klasse als Entität.
Die @Table-Annotation gibt den Namen der Tabelle an, in der die Daten für diese Entität gespeichert werden. Wenn Sie die Annotation @Table nicht verwenden, verwendet der Ruhezustand standardmäßig den Klassennamen als Tabellennamen.
Die @Id-Annotation markiert die Kennung dieser Entität.
Die @Column-Annotation gibt die Details der Spalte dieses Attributs oder Felds an. Wenn die Annotation @Column nicht angegeben ist, wird standardmäßig der Eigenschaftsname als Spaltenname verwendet.
 1 package com.rocky.domain; 2  3 import javax.persistence.Entity; 4 import javax.persistence.Id; 5 import javax.persistence.Table; 6  7 @Entity 8 @Table(name = "tb_user") 9 public class User10 {11     @Id12     private Integer uId;13     private String uName;14     private Integer uAge;15     public User()16     {17         super();18     }19     @Override20     public String toString()21     {22         return "User [uId=" + uId + ", uName=" + uName + ", uAge=" + uAge + "]";23     }24     public Integer getuId()25     {26         return uId;27     }28     public void setuId(Integer uId)29     {30         this.uId = uId;31     }32     public String getuName()33     {34         return uName;35     }36     public void setuName(String uName)37     {38         this.uName = uName;39     }40     public Integer getuAge()41     {42         return uAge;43     }44     public void setuAge(Integer uAge)45     {46         this.uAge = uAge;47     }48 }

3. Schreiben Sie die Kernkonfigurationsdatei

Verwenden Sie kommentierte Konfigurationsdateien und XML-Zuordnung Die Konfigurationsdateien sind grundsätzlich gleich, die bei der Einführung der externen Zuordnung verwendeten Attribute sind jedoch Klassen- statt Ressourcenattribute.

 1 <?xml version=&#39;1.0&#39; encoding=&#39;UTF-8&#39;?> 2 <!DOCTYPE hibernate-configuration PUBLIC 3           "-//Hibernate/Hibernate Configuration DTD 3.0//EN" 4           "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> 5  6 <hibernate-configuration> 7     <session-factory> 8  9         <!--指定数据库的参数  -->10         <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>11         <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>12         <property name="hibernate.connection.url">jdbc:mysql://192.168.100.100:3306/test</property>13         <property name="hibernate.connection.username">root</property>14         <property name="hibernate.connection.password">1</property>15         16         <!--指定hibernate是否显式SQL语句及其格式化  -->17         <property name="hibernate.show_sql">true</property>18         <property name="hibernate.format_sql">true</property>19         20         <!--指定表的生成方式-即是否由hibernate自动创建表,其取值为:create-drop、21          create、validate、update-->22         <property name="hibernate.hbm2ddl.auto">update</property>23         24         <!--引入 ORM配置文件 -->25         <mapping class="com.rocky.domain.User"/>26     </session-factory>27 28 </hibernate-configuration>

4. Schreibtestkurse

 1 package com.rocky.testdriver; 2  3 import org.hibernate.Session; 4 import org.hibernate.SessionFactory; 5 import org.hibernate.Transaction; 6 import org.hibernate.cfg.Configuration; 7  8 import com.rocky.domain.User; 9 10 public class TestDriver11 {12 13     public static void main(String[] args)14     {15         // 加载配置文件16         Configuration cfg = new Configuration();17         cfg.configure();18         // 创建会话工厂19         SessionFactory factory = cfg.buildSessionFactory();20         // 获取非线程绑定会话21         Session session = factory.openSession();22         // 开启事务23         Transaction tx = session.beginTransaction();24         // 创建User对象25         User user = new User();26         user.setuId(1);27         user.setuName("rocky");28         user.setuAge(28);29 30         // 将数据插入数据库31         session.save(user);32 33         // 提交事务34         tx.commit();35         // 关闭会话36         session.close();37     }38 39 }

Das obige ist der detaillierte Inhalt vonEinführung in die ORM-Zuordnung mithilfe von Annotationen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn