关于hibernate的部分总结

本文是对Hibernate框架的总结,包括Hibernate的定义、作用、核心接口、持久化类编写规则以及核心配置。介绍了session、sessionFactory、configuration等核心接口,以及如何创建Hibernate项目。还详细讲解了一对一、一对多、多对多的关系映射配置,帮助读者全面了解Hibernate操作数据库的机制。
摘要由CSDN通过智能技术生成

关于hibernate的总结

什么是hibernate?hibernate用来做什么?
hibernate可以说是半成品项目,是一个操作数据库的框架,实现了对JDBC的封装;

Hibernate实现了ORM,使Java程序员可以方便的运用面向对象的编程思想来操纵关系型数据库;

Hibernate是对JDBC的轻量级封装,必要时Java程序员可以绕过Hibernate直接访问JDBC API;

Hibernate不仅可以应用在独立的Java程序中,还可以应用在Java Web项目中,可以和多种Web服务器集成,并支持多种数据库平台。
hibernate核心接口
session:负责被持久化对象CRUD操作
sessionFactory:负责初始化hibernate,创建session对象
configuration:负责配置并启动hibernate,创建SessionFactory
Transaction:负责事物相关的操作
Query和Criteria接口:负责执行各种数据库查询
创建Hibernate项目的步骤

  1. 安装Eclipse、Mysql;
  2. 下载Hibernate,并解压缩;
  3. 使用Eclipse创建新的项目;
  4. 引入Hibernate及其依赖库(jar包);
  5. 引入Mysql数据库驱动包;
  6. 编写Hibernate配置文件;
  7. 创建Java持久化类XXX.java;
  8. 编写持久化类的映射配置文件XXX.hbm.xml;
  9. 使用Hibernate API 完成对象的持久化。

需要引入的jar包
在这里插入图片描述
数据库的驱动jar包要根据自己的数据库版本来决定

项目目录结构说明
在这里插入图片描述
持久化类编写规则
持久化:将内存中的一个对象持久化到数据库中的过程
Hibernate框架就是用来进行持久化的框架。
持久化类:一个java对象与数据库的一个表建立了映射关系(java类+数据库表)
规则
对持久化类提供一个无参的构造方法,因为hibernate底层要使用
属性需要私有,对似有属性提供公有的get和set方法,hibernate中获取,设置和获取对象的值。
对持久化类提供一个唯一标识OID与数据库主键对应,Java中通过对象地址区分是否使用一个对象,数据库中通过主键区分是否是同一个记录,hibernate通过OID属性区分是否同一个对象。
持久化类中的属性尽量使用包装类的类型来定义,因为基本数据类型默认值是0,会有很多歧义。
持久化类不要使用final修饰,延迟加载本身是hibernate优化手段,最后返回的是一个代理对象,可以对没有接口的类产生代理,使用了非常底层的字节码增强技术,继承这个类进行代理。如果不能被继承,就无法产生代理对象,延迟加载就会失效,不能进行优化,load和get方法没区别了。

核心的配置

核心配置方式
一种方式:属性文件的方式
Hibernate.properties
二种方式:xml文件的方式
hibernate.cfg.xml

必须的配置
连接数据库的基本参数
驱动类
url路径
用户名
密码
方言

可选配置
显示sql,hibernate.show.sql
格式化sql,hibernate.format.sql
自动建表,hibernate.hbm2ddl.auto
none,不使用自动建表
create,如果数据库中已有表,删除原有,创建新表,如果没有表,新建表
create-drog,数据库中已有表,删除原有,执行操作,执行完后删除这个表,如果没有,新建一个,使用完了删除(测试用)。
update,如果数据库中已有表,使用原来的表插入数据。如果没有表创建一个新表,可以更新表结构,比如把property的column的值改掉,执行语句后表里也会改。
valiadate,如果没有表,不会创建,只会使用原有的表,用于校验。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC 
"-//Hibernate/Hibernate Configuration DTD 3.0//EN" 
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值