ToB企服应用市场:ToB评测及商务社交产业平台

标题: 手写 Hibernate ORM 框架 00-hibernate 简介 [打印本页]

作者: 饭宝    时间: 2024-7-29 23:14
标题: 手写 Hibernate ORM 框架 00-hibernate 简介
手写 Hibernate 系列

手写 Hibernate ORM 框架 00-hibernate 简介
手写 Hibernate ORM 框架 00-环境准备
手写 Hibernate ORM 框架 01-注解常量定义
手写 Hibernate ORM 框架 02-实体 Bean 定义,建表语句自动生成
手写 Hibernate ORM 框架 03-配置文件读取, 数据库连接构建
手写 Hibernate ORM 框架 04-持久化实现
手写 Hibernate ORM 框架 05-团体效果测试验证
从零手写组件系列

java 从零手写 spring ioc 控制反转
java 从零手写 spring mvc
java 从零手写 jdbc-pool 数据库连接池
java 从零手写 mybatis
java 从零手写 hibernate
java 从零手写 rpc 远程调用
java 从零手写 mq 消息组件
java 从零手写 cache 缓存
java 从零手写 nginx4j
java 从零手写 tomcat
前言

类似的还有其他系列,重要用于学习此中的原理。
Hibernate 属于比较早的框架了,后期将实现一套 mybatis。
在开始实现 hibernate 之前,我们先熟悉一下 hibernate。
hibernate 是什么?

Hibernate 是一个流行的开源对象关系映射(ORM)框架,它用于简化 Java 应用程序与关系型数据库之间的交互。
Hibernate 将 Java 类映射到数据库表,将 Java 对象的属性映射到表中的列,从而使开发人员可以利用面向对象的编程方式来操作数据库。以下是 Hibernate 的一些关键特性和工作原理:
关键特性

工作原理

入门例子

以下是一个简单的示例,展示了如何利用 Hibernate 进行根本的 CRUD 操作:
配置文件(hibernate.cfg.xml)
  1. <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
  2. <hibernate-configuration>
  3.     <session-factory>
  4.         <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
  5.         <property name="hibernate.connection.driver_class">com.mysql.cj.jdbc.Driver</property>
  6.         <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/your_database</property>
  7.         <property name="hibernate.connection.username">your_username</property>
  8.         <property name="hibernate.connection.password">your_password</property>
  9.         <property name="hibernate.hbm2ddl.auto">update</property>
  10.         <mapping />
  11.     </session-factory>
  12. </hibernate-configuration>
复制代码
映射类(User.java)
  1. package com.example;
  2. import javax.persistence.Entity;
  3. import javax.persistence.Id;
  4. @Entity
  5. public class User {
  6.     @Id
  7.     private int id;
  8.     private String name;
  9.     // Getters and setters
  10.     public int getId() {
  11.         return id;
  12.     }
  13.     public void setId(int id) {
  14.         this.id = id;
  15.     }
  16.     public String getName() {
  17.         return name;
  18.     }
  19.     public void setName(String name) {
  20.         this.name = name;
  21.     }
  22. }
复制代码
主类(Main.java)
  1. package com.example;
  2. import org.hibernate.Session;
  3. import org.hibernate.SessionFactory;
  4. import org.hibernate.Transaction;
  5. import org.hibernate.cfg.Configuration;
  6. public class Main {
  7.     public static void main(String[] args) {
  8.         // 创建 SessionFactory
  9.         SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();
  10.         
  11.         // 创建 Session
  12.         Session session = sessionFactory.openSession();
  13.         
  14.         // 开启事务
  15.         Transaction transaction = session.beginTransaction();
  16.         
  17.         // 创建新用户对象
  18.         User user = new User();
  19.         user.setId(1);
  20.         user.setName("John Doe");
  21.         
  22.         // 保存用户对象到数据库
  23.         session.save(user);
  24.         
  25.         // 提交事务
  26.         transaction.commit();
  27.         
  28.         // 关闭 Session
  29.         session.close();
  30.         
  31.         // 关闭 SessionFactory
  32.         sessionFactory.close();
  33.     }
  34. }
复制代码
这个示例展示了如何配置 Hibernate,定义实体类,并通过 Hibernate 将一个用户对象保存到数据库中。
通过这种方式,Hibernate 简化了数据库操作,提高了开发效率。
hibernate 有哪些良好的设计?

Hibernate 是一个流行的Java持久化框架,它通过提供对象/关系映射(ORM)功能,简化了Java应用程序与关系数据库的交互。
以下是Hibernate的一些良好设计特点:
为什么国内 hibernate 没有 mybatis 火爆?

国内MyBatis比Hibernate更火爆的原因可以从以下几个方面进行分析:

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4