Maison  >  Article  >  Java  >  Notes d'étude du cadre Hibernate : du concept à la pratique

Notes d'étude du cadre Hibernate : du concept à la pratique

WBOY
WBOYoriginal
2024-06-03 16:25:01400parcourir

Le framework Hibernate simplifie le processus d'interaction avec les bases de données dans les applications Java, impliquant les concepts suivants : entités (POJO représente les tables de base de données), sessions (interaction avec la base de données), requêtes (récupération de données), mappage (association de classes et de tables), transactions (garantir la cohérence des données). Des cas pratiques démontrent les étapes pour créer des tables de base de données, des classes d'entités, des fichiers de configuration Hibernate et utiliser l'API Hibernate pour effectuer des opérations de base de base de données.

Notes détude du cadre Hibernate : du concept à la pratique

Notes d'étude du framework Hibernate : du concept à la pratique

Introduction

Hibernate est un framework de persistance Java open source léger, hautes performances. Il simplifie le processus de gestion et de persistance des objets dans une base de données dans les applications Java.

Concepts de base

  • Entité : Représente une table dans la base de données. Ils sont représentés via des POJO (Plain Old Java Objects).
  • Session : Une seule interaction avec la base de données.
  • Requête : Objet utilisé pour récupérer les données de la base de données.
  • Mapping : Associez des classes Java aux tables de base de données.
  • Transaction : Garantir l'atomicité et la cohérence des opérations de la base de données.

Cas pratique :

Nous allons créer une application simple pour démontrer le fonctionnement de base d'Hibernate.

Configuration

Vous aurez besoin de :

  • Java Development Kit (JDK)
  • Outil de construction Maven ou Gradle
  • Base de données et connecteur MySQL

Table de base de données

Créer un utilisateur nommé  : <code>User的数据库表:

CREATE TABLE User (
    id INT NOT NULL AUTO_INCREMENT,
    name VARCHAR(255) NOT NULL,
    email VARCHAR(255) NOT NULL,
    PRIMARY KEY (id)
);

实体类

创建用于映射User表的实体类User.java

@Entity
@Table(name = "User")
public class User {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private int id;
    private String name;
    private String email;

    // Getters and setters
}

Hibernate配置文件

创建名为hibernate.cfg.xml的Hibernate配置文件:

<?xml version="1.0"?>
<!DOCTYPE hibernate-configuration PUBLIC
        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
        "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">

<hibernate-configuration>
    <session-factory>
        <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
        <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/hibernate</property>
        <property name="hibernate.connection.username">root</property>
        <property name="hibernate.connection.password">password</property>
        <property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property>
        <mapping class="com.example.model.User" />
    </session-factory>
</hibernate-configuration>

Java操作

Main.java

public class Main {

    public static void main(String[] args) {
        // 创建SessionFactory
        SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();

        // 打开一个新的会话
        Session session = sessionFactory.openSession();

        // 开始一个事务
        Transaction transaction = session.beginTransaction();

        // 创建一个新的User实体
        User user = new User();
        user.setName("John");
        user.setEmail("john@example.com");

        // 保存实体
        session.save(user);

        // 提交事务
        transaction.commit();

        // 关闭会话
        session.close();
    }
}

🎜Classe d'entité 🎜🎜🎜Créez une classe d'entité User.java pour mapper la table Utilisateur : 🎜rrreee🎜🎜Configuration Hibernate Fichier 🎜🎜🎜 Créez un fichier de configuration Hibernate nommé hibernate.cfg.xml : 🎜rrreee🎜🎜Opérations Java 🎜🎜🎜 Effectuez des opérations Hibernate dans la classe Main.java : 🎜 rrreee

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn