Jadual Kandungan
一、导包
二、编写实体类
三、编写核心配置文件
四、编写测试类
Rumah Java javaTutorial 使用注解进行ORM映射介绍

使用注解进行ORM映射介绍

Jul 23, 2017 pm 02:18 PM
hibernate pemetaan kelakuan

    近两年来有更多的项目对一些比较稳定的实体类使用了注解进行ORM映射,这样使得编程更加简洁、简单。其实使用注解进行ORM映射和使用xml进行映射没有太多的操作流程上的变化,主要步骤为:导包、编写带注解的实体类、编写核心配置文件、编写测试类。

项目工程代码已经上传到GitHub:  工程名:HibernateUseAnnotation

整个工程项目结构如下图:

 

一、导包

  笔者使用的是MySQL数据库,因此导入数据包如下图:

 

二、编写实体类

  用于映射的注解基本都在javax.persistence.*包中定义,我常用到的主要是如下四个:

   @Entity注释将此类标记为实体。
  @Table注释指定要保留此实体的数据的表名。 如果不使用@Table注释,hibernate将使用类名作为表名称bydefault。
   @Id注释标记此实体的标识符。
   @Column注释指定此属性或字段的列的详细信息。如果未指定@Column注释,则属性名称将用作列名称bydefault。
 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 }
Salin selepas log masuk

三、编写核心配置文件

  使用注解的配置文件和xml映射的配置文件基本大同小异,但是在引入外部映射时使用的属性是class而非resource属性。

 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>
Salin selepas log masuk

四、编写测试类

 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 }
Salin selepas log masuk

Atas ialah kandungan terperinci 使用注解进行ORM映射介绍. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

<🎜>: Bubble Gum Simulator Infinity - Cara Mendapatkan dan Menggunakan Kekunci Diraja
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Sistem Fusion, dijelaskan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers of the Witch Tree - Cara Membuka Kunci Cangkuk Bergelut
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
<🎜> obscur: Ekspedisi 33 - Cara mendapatkan pemangkin Chroma yang sempurna
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial Java
1676
14
Tutorial PHP
1278
29
Tutorial C#
1257
24
Bagaimana untuk mengintegrasikan Hibernate dalam projek SpringBoot Bagaimana untuk mengintegrasikan Hibernate dalam projek SpringBoot May 18, 2023 am 09:49 AM

Mengintegrasikan Hibernate dalam SpringBoot Project Preface Hibernate ialah rangka kerja ORM (Object Relational Mapping) yang popular yang boleh memetakan objek Java ke jadual pangkalan data untuk memudahkan operasi kegigihan. Dalam projek SpringBoot, menyepadukan Hibernate boleh membantu kami melaksanakan operasi pangkalan data dengan lebih mudah Artikel ini akan memperkenalkan cara untuk menyepadukan Hibernate dalam projek SpringBoot dan memberikan contoh yang sepadan. 1.Perkenalkan dependenciesPerkenalkan dependencies berikut dalam fail pom.xml: org.springframework.bootspring-boot-starter-data-jpam

Ralat Java: Ralat Hibernate, Cara Mengendalikan dan Mengelak Ralat Java: Ralat Hibernate, Cara Mengendalikan dan Mengelak Jun 25, 2023 am 09:09 AM

Java ialah bahasa pengaturcaraan berorientasikan objek yang digunakan secara meluas dalam bidang pembangunan perisian. Hibernate ialah rangka kerja kegigihan Java yang popular yang menyediakan cara yang mudah dan cekap untuk mengurus kegigihan objek Java. Walau bagaimanapun, ralat Hibernate sering ditemui semasa proses pembangunan, dan ralat ini boleh menyebabkan atur cara ditamatkan secara tidak normal atau menjadi tidak stabil. Cara mengendalikan dan mengelakkan ralat Hibernate telah menjadi kemahiran yang mesti dikuasai oleh pembangun Java. Artikel ini akan memperkenalkan beberapa Hib biasa

Soalan temuduga JPA Java terpilih: Uji penguasaan anda terhadap rangka kerja kegigihan Soalan temuduga JPA Java terpilih: Uji penguasaan anda terhadap rangka kerja kegigihan Feb 19, 2024 pm 09:12 PM

Apa itu JPA? Bagaimanakah ia berbeza daripada JDBC? JPA (JavaPersistence API) ialah antara muka standard untuk pemetaan hubungan objek (ORM), yang membenarkan pembangun Java menggunakan objek Java biasa untuk mengendalikan pangkalan data tanpa menulis pertanyaan SQL secara langsung terhadap pangkalan data. JDBC (JavaDatabaseConnectivity) ialah API standard Java untuk menyambung ke pangkalan data Ia memerlukan pembangun menggunakan pernyataan SQL untuk mengendalikan pangkalan data. JPA merangkum JDBC, menyediakan API yang lebih mudah dan tahap lebih tinggi untuk pemetaan hubungan objek, dan memudahkan operasi capaian data. Dalam JPA, apakah entiti? entiti

Apakah perbezaan antara hibernate dan mybatis Apakah perbezaan antara hibernate dan mybatis Jan 03, 2024 pm 03:35 PM

Perbezaan antara hibernate dan mybatis: 1. Kaedah pelaksanaan 2. Prestasi 3. Perbandingan pengurusan objek; Pengenalan terperinci: 1. Kaedah pelaksanaan, Hibernate ialah penyelesaian pemetaan objek/hubungan yang lengkap yang memetakan objek ke jadual pangkalan data, manakala MyBatis memerlukan pembangun menulis pernyataan SQL dan ResultMap secara manual 2. Prestasi, Hibernate adalah mungkin dari segi kelajuan pembangunan Lebih cepat daripada MyBatis kerana Hibernate memudahkan lapisan DAO dan sebagainya.

Apakah kaedah pemetaan hubungan satu-ke-banyak dan banyak-ke-banyak dalam Java Hibernate Apakah kaedah pemetaan hubungan satu-ke-banyak dan banyak-ke-banyak dalam Java Hibernate May 27, 2023 pm 05:06 PM

Hibernate satu-ke-banyak dan banyak-ke-banyak Hibernate ialah rangka kerja ORM yang sangat baik yang memudahkan akses data antara aplikasi Java dan pangkalan data hubungan. Dalam Hibernate, kita boleh menggunakan perhubungan satu-ke-banyak dan banyak-ke-banyak untuk mengendalikan model data yang kompleks. Satu-ke-banyak Hibernate Dalam Hibernate, hubungan satu-dengan-banyak bermakna satu kelas entiti sepadan dengan berbilang kelas entiti lain. Sebagai contoh, pesanan boleh sepadan dengan berbilang item pesanan (OrderItem), dan pengguna (Pengguna) boleh sepadan dengan berbilang pesanan (Pesanan). Untuk melaksanakan perhubungan satu-ke-banyak dalam Hibernate, anda perlu menentukan atribut koleksi dalam kelas entiti untuk disimpan

Analisis RFM menggunakan Python Analisis RFM menggunakan Python Sep 03, 2023 pm 12:45 PM

Python ialah bahasa pengaturcaraan serba boleh yang popular dalam bidang analisis data dan pembelajaran mesin. Kesederhanaan, kebolehbacaan dan perpustakaan yang kaya menjadikannya ideal untuk mengendalikan tugas data yang kompleks. Satu aplikasi yang begitu hebat ialah analisis RFM, teknik yang digunakan dalam pemasaran untuk membahagikan pelanggan berdasarkan gelagat pembelian mereka. Dalam tutorial ini, kami akan membimbing anda melalui proses melaksanakan analisis RFM menggunakan Python. Kami akan mulakan dengan menerangkan konsep analisis RFM dan kepentingannya dalam pemasaran. Kami kemudiannya akan secara beransur-ansur menyelami aspek praktikal analisis RFM menggunakan Python. Dalam bahagian seterusnya artikel, kami akan menunjukkan cara mengira skor RFM untuk setiap pelanggan menggunakan Python, dengan mengambil kira nilai untuk kekinian, kekerapan dan

'Black Myth: Wukong ' Versi Xbox telah ditangguhkan kerana 'kebocoran memori', pengoptimuman versi PS5 sedang dijalankan 'Black Myth: Wukong ' Versi Xbox telah ditangguhkan kerana 'kebocoran memori', pengoptimuman versi PS5 sedang dijalankan Aug 27, 2024 pm 03:38 PM

Baru-baru ini, "Mitos Hitam: Wukong" telah menarik perhatian besar di seluruh dunia. Bilangan pengguna dalam talian serentak pada setiap platform telah mencapai tahap tertinggi yang baharu. Versi Xbox "Black Myth: Wukong" telah ditangguhkan Walaupun "Black Myth: Wukong" telah dikeluarkan pada platform PC dan PS5, tidak ada berita pasti tentang versi Xboxnya. Difahamkan, pegawai itu mengesahkan bahawa "Mitos Hitam: Wukong" akan dilancarkan di platform Xbox. Bagaimanapun, tarikh pelancaran khusus masih belum diumumkan. Baru-baru ini dilaporkan bahawa kelewatan versi Xbox adalah disebabkan oleh isu teknikal. Menurut seorang blogger yang berkaitan, dia belajar daripada komunikasi dengan pembangun dan "orang dalam Xbox" semasa Gamescom bahawa versi Xbox "Black Myth: Wukong" wujud.

Pengenalan kepada rangka kerja Hibernate dalam bahasa Java Pengenalan kepada rangka kerja Hibernate dalam bahasa Java Jun 10, 2023 am 11:35 AM

Hibernate ialah rangka kerja ORM sumber terbuka yang mengikat pemetaan data antara pangkalan data hubungan dan program Java antara satu sama lain, menjadikannya lebih mudah untuk pembangun mengakses data dalam pangkalan data. Menggunakan rangka kerja Hibernate boleh mengurangkan kerja menulis pernyataan SQL dan meningkatkan kecekapan pembangunan dan kebolehgunaan semula aplikasi. Mari perkenalkan rangka kerja Hibernate dari aspek berikut. 1. Kelebihan rangka kerja Hibernate: pemetaan hubungan objek, menyembunyikan butiran akses pangkalan data, membuat pembangunan

See all articles