参考书籍:《J2EE开源编程精要15讲》

Hibernate是对象/关系映射(ORM,Object/Relational Mapping)的解决方案,就是将Java对象与对象关系映射到关系型数据库中的表格与表格之间的关系。它是Java应用与关系数据库之间的桥梁,负责Java对象和关系数据之间的映射。Hibernate内部封装了通过JDBC访问数据库的操作,向上层应用提供了面向对象的数据库访问API。

Hibernate的体系结构

  Hibernate通过配置文件( hibernate.properties 或 hibernate.cfg.xml )和映射文件( .hbm.xml )把Java对象或持久化对象( Persistent Object,PO )映射到数据库的表格,然后通过操作PO,对数据表中的数据进行增、删、改、查等操作。

Hibernate的核心组件

  • Configuration类:用来读取Hibernate配置文件,并生成SessionFactory对象。
  • SessionFactory接口:产生Session实例的工厂
  • Session接口:用来操作PO。有get()、load()、save()、update()、delete()等方法用来对PO进行加载、保存、更新及删除等操作,是Hibernate的核心接口
  • Query接口:用来对PO进行查询操作。可从Session的createQuery()方法生成
  • Transaction接口:用来管理Hibernate事务,主要方法有commit()和rollback(),可从Session的beginTransaction()方法生成
  • Hibernate配置文件主要用来配置数据库链接参数,如数据库驱动程序、URL、用户名、密码等。有两种格式:hibernate.properties 和 hibernate.cfg.xml,hibernate.cfg.xml可以在其<mapping>子元素中定义用到的xxx.hbm.xml映射文件列表,而hibernamte.properties需要在程序中以硬代码方式指明。一般hibernate.cfg.xml是Hibernate的默认配置文件
  • 映射文件(xxx.hbm.xml)用来把PO与数据库中的数据表、PO之间的关系与数据库之间的关系、以及PO的属性与表字段一一映射起来,是Hibernate的核心文件
  • 持久化对象(PO)可以是普通的JavaBean/POJO,唯一特殊的是他们正与(仅仅一个)Session相关联。JavaBean在Hibernate中存在三种状态:临时状态(transient)、持久化状态(persistent)和托管状态(detached)。当JavaBean对象在内存中孤立存在、不与数据库中的数据有任何关联关系时,为临时对象;当它与一个Session相关联时,为持久化对象;在这个Session被关闭的同时,这个对象变成脱管对象。

Hibernate的运行过程

  1) 应用程序调用Configuration类,该类读取Hibernate配置文件级映射文件中的信息,并生成一个SessionFactory

  2) 从SessionFactory对象生成一个Session对象,并用Session对象生成Transaction对象

  3) 通过Session对象的get()、load()、save()、update()、delete()、saveOrUpdate()等方法对PO进行加载、保存、更新、删除等操作;通过Session对象生成一个Query对象,进行查询操作

  4) 如无异常,Transaction对象将提交这些操作结果到数据库中

应用示例 简单用户登记:http://pan.baidu.com/s/1dDGSzQh

相关资料:http://yusun.blog.163.com/blog/static/20174407620120432015398/

转载于:https://www.cnblogs.com/cqq626/p/4328997.html

Java Web编程的主要组件技术——Hibernate入门相关推荐

  1. Java Web编程的主要组件技术——MVC设计模式

    参考书籍:<J2EE开源编程精要15讲> MVC(Model View Controller),Model(模型)表示业务逻辑层,View(视图)代表表述层,Controller(控制)表 ...

  2. java web编程技术解题与实验指导_javaweb编程技术实验指导书

    javaweb编程技术实验指导书 <Java Web编程技术> 实 验 指 导 书 沈泽刚 编写2010 年 3 月目 录 实验一 简单的 Servlet 与 JSP .1 实验二 HTT ...

  3. java web编程技术上机实验_JavaWeb編程技术实验指导书.doc

    JavaWeb編程技术实验指导书 <Java Web编程技术> 实 验 指 导 书 沈泽刚 编写 2010年3月 目 录 实验一 简单的Servlet与JSP1 实验二 HTTP请求对象3 ...

  4. Java Web编程技术

    为什么80%的码农都做不了架构师?>>>    Java Web编程技术 该文档重点讲解如何自定义标签的开发,包括简单标签的开发.TLD文件.几种常见类型标签的开发. 对其内容详细阅 ...

  5. java web 编程技术 pdf_Java WEB编程技术.pdf

    您所在位置:网站首页 > 海量文档 &nbsp>&nbsp计算机&nbsp>&nbspJava Java WEB编程技术.pdf289页 本文档一共被 ...

  6. 【Java Web编程 十一】深入理解Servlet监听器

    上篇Blog详细介绍了Servlet的过滤器,了解到过滤器类似一个AOP的概念,这篇Blog就来学习下Servlet的监听器,了解下Java Web的第三大组件的用处是什么,又是怎么工作的. 监听器基 ...

  7. Java Web 编程入门知识

    Java SE 的内容基本都讲完了. 但是 Java一般用于网络编程, 就是所谓的web编程. Java SE讲的基本上都是本地程序的内容. 而Java web编程需要在两个程序中传输数据, 以后就是 ...

  8. 用php web编程作业,代做CSE2ISD作业、代做Web,php程序作业、代写Java/web编程作业、代写C/C++/Java留学生作业...

    代做CSE2ISD作业.代做Web,php程序作业.代写Java/web编程作业.代写C/C++/Java留学生作业 日期:2018-10-08 10:00 CSE2ISD – Information ...

  9. Java并发编程(中下篇)从入门到深入 超详细笔记

    接上一篇博客笔记:Java并发编程(中上篇)从入门到深入 超详细笔记_未来很长,别只看眼前的博客-CSDN博客https://blog.csdn.net/weixin_53142722/article ...

最新文章

  1. 4.3.6 无分类编址CIDR
  2. spring启动过程之源码跟踪(中)--spring Debug
  3. linux自学_shell脚本for详解
  4. 测试markdown的发布
  5. linux磁盘格式化
  6. 搭载高通骁龙855+UFS 3.0闪存 iQOO Neo 855版正式发布
  7. Kubernetes - - k8s - v1.12.3 Helm持久化部署Harbor集成OpenLDAP登录
  8. hdu 1861 游船出租 tag:模拟
  9. linux下imp导入oracle数据库,Oracle数据库Linux下的导入IMP
  10. mysql binlog 备份_Mysql数据库的增量备份与还原
  11. Intel Edison学习笔记(一)—— 刷系统
  12. 解析、查询身份证号代码
  13. OFD文件在线阅读器
  14. 数据同步工具oracle goldengate安装与配置
  15. Pegasus读取传感器AD的值
  16. Spring Ioc源码分析系列--容器实例化Bean的四种方法
  17. JAVA学习——Lambda表达式是干什么用的?
  18. Java list.toArray()和list.toArray(T[] a)
  19. 自由枪骑兵修改服务器端口,自由枪骑兵存档修改器(全版本通用)
  20. 【2019-07-23】]python3 把日语翻译为中文 调用百度翻译API接口及API申请使用教程

热门文章

  1. 关于go语言中的JWT(JSON WEB TONKE)ECHO
  2. pixhawk自学笔记之px4程序启动顺序
  3. hihoCoder #1467 : 2-SAT·hihoCoder音乐节
  4. linux多进程知识汇总
  5. ofstream与ate的故事 经典!
  6. 数据结构课程设计(VS2012-c语言):算术表达式实现(加减乘除)
  7. java类结构图_java 集合类结构图
  8. rm: cannot remove directory `test': Permission denied
  9. Acknowledgement Modes
  10. 编写自己的Arduino库