Rumah > Java > javaTutorial > teks badan

Pao Ding Jie Niu, menganalisis sistem pengetahuan rangka kerja Java Hibernate

PHPz
Lepaskan: 2024-02-19 17:18:09
ke hadapan
872 orang telah melayarinya

庖丁解牛,剖析 Java Hibernate 框架的知识体系

Editor PHP Youzi memperkenalkan: Pao Ding Jie Niu, menganalisis sistem pengetahuan rangka kerja Java Hibernate, membincangkan secara mendalam prinsip teras dan ciri utama rangka kerja Hibernate, dan membantu pembaca lebih memahami dan menggunakan teknologi Hibernate.

1. Hibernate Rangka KerjaIkhtisar

Rangka kerja hibernate ialah rangka kerja lapisan kegigihan untuk Java pembangunan, yang boleh memetakan objek Java kepada jadual pangkalan data hubungan, dengan itu memudahkan operasi pangkalan data. Hibernate menggunakan idea reka bentuk berorientasikan objek untuk memetakan data dalam jadual pangkalan data ke dalam objek Java dan menyediakan api yang kaya untuk mengendalikan objek ini. Kelebihan rangka kerja Hibernate ialah:

  • Operasi pangkalan data yang dipermudah: Hibernate menyediakan API yang kaya untuk mengendalikan pangkalan data, memudahkan penulisan kod operasi pangkalan data.
  • Meningkatkan kecekapan pembangunan: Hibernate secara automatik boleh menjana struktur jadual pangkalan data dan menyediakan fungsi pertanyaan yang kaya, meningkatkan kecekapan pembangunan.
  • Tingkatkan prestasi program: Hibernate menggunakan mekanisme caching untuk meningkatkan prestasi program.
  • Menyokong berbilang pangkalan data: Hibernate menyokong berbilang pangkalan data, seperti Mysql, oracle, postgresql, dsb.

2. Konsep asas rangka kerja Hibernate

1. Kelas entiti

Kelas entiti ialah salah satu konsep terpenting dalam rangka kerja Hibernate Ia digunakan untuk mewakili barisan rekod dalam jadual pangkalan data. Kelas entiti biasanya sepadan dengan jadual pangkalan data satu-satu. Kelas entiti mengandungi medan dalam jadual pangkalan data dan kaedah akses kepada medan ini.

2. Fail pemetaan

Fail pemetaan digunakan untuk menerangkan hubungan pemetaan antara kelas entiti dan jadual pangkalan data. Fail pemetaan biasanya ditulis dalam format XML dan mengandungi surat-menyurat antara atribut dalam kelas entiti dan medan jadual pangkalan data.

3. Kilang Sesi

Kilang sesi digunakan untuk mencipta objek sesi. Objek sesi digunakan untuk mengendalikan pangkalan data Ia boleh melakukan operasi seperti pertanyaan, kemas kini dan padam.

4. Objek sesi

Objek sesi digunakan untuk mengendalikan pangkalan data Ia boleh melakukan operasi seperti pertanyaan, kemas kini dan padam. Objek sesi adalah benangselamat, ia boleh digunakan oleh berbilang benang pada masa yang sama.

5. Hal Ehwal

Transaksi digunakan untuk memastikan atomicity, konsistensi, pengasingan dan ketahanan operasi pangkalan data. Urus niaga boleh mengandungi berbilang operasi, dan jika salah satu operasi gagal, keseluruhan transaksi akan ditarik balik.

3. Cara menggunakan rangka kerja Hibernate

1. Import tanggungan

Untuk menggunakan rangka kerja Hibernate dalam projek, anda perlu mengimport kebergantungan Hibernate terlebih dahulu. Dalam projek Maven, anda boleh menambah kebergantungan berikut:

<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>5.4.2.Final</version>
</dependency>
Salin selepas log masuk

2. Buat kelas entiti

Buat kelas entiti, yang mengandungi medan dalam jadual pangkalan data dan kaedah akses kepada medan ini.

@Entity
public class User {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;

private String username;

private String passWord;

// getter and setter methods
}
Salin selepas log masuk

3. Cipta fail pemetaan

Buat fail pemetaan Fail pemetaan biasanya ditulis dalam format XML dan mengandungi surat-menyurat antara atribut dalam kelas entiti dan medan jadual pangkalan data.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "Http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

<hibernate-mapping>
<class name="com.example.demo.User">
<id name="id">
<generator class="identity"/>
</id>
<property name="username"/>
<property name="password"/>
</class>
</hibernate-mapping>
Salin selepas log masuk

4. Buat kilang sesi

Buat kilang sesi, yang digunakan untuk mencipta objek sesi.

SessionFactory sessionFactory = new Configuration()
.configure("hibernate.cfg.xml") // 加载映射文件
.buildSessionFactory();
Salin selepas log masuk

5. Cipta objek sesi

Buat objek sesi, yang digunakan untuk mengendalikan pangkalan data.

Session session = sessionFactory.openSession();
Salin selepas log masuk

6. Lakukan operasi

Anda boleh menggunakan objek sesi untuk melaksanakan operasi seperti pertanyaan, kemas kini, padam, dsb.

// 查询所有用户
List<User> users = session.createQuery("from User", User.class).list();

// 保存一个用户
User user = new User();
user.setUsername("John");
user.setPassword("123456");
session.save(user);

// 提交事务
session.getTransaction().commit();
Salin selepas log masuk

7. Tutup objek sesi

Tutup objek sesi.

session.close();
Salin selepas log masuk

8. Tutup sesi kilang

Tutup kilang sesi.

sessionFactory.close();
Salin selepas log masuk

IV Ringkasan

Rangka kerja hibernate ialah rangka kerja lapisan kegigihan yang berkuasa dan mudah digunakan. Ia memudahkan operasi pangkalan data dengan memetakan objek Java ke jadual pangkalan data hubungan. Artikel ini menyediakan analisis terperinci tentang sistem pengetahuan rangka kerja Hibernate untuk membantu pembaca memahami dengan mendalam prinsip kerja dan penggunaan Hibernate.

Atas ialah kandungan terperinci Pao Ding Jie Niu, menganalisis sistem pengetahuan rangka kerja Java Hibernate. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:lsjlt.com
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan