Java Web编程的主要组件技术——Hibernate入门
参考书籍:《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入门相关推荐
- Java Web编程的主要组件技术——MVC设计模式
参考书籍:<J2EE开源编程精要15讲> MVC(Model View Controller),Model(模型)表示业务逻辑层,View(视图)代表表述层,Controller(控制)表 ...
- java web编程技术解题与实验指导_javaweb编程技术实验指导书
javaweb编程技术实验指导书 <Java Web编程技术> 实 验 指 导 书 沈泽刚 编写2010 年 3 月目 录 实验一 简单的 Servlet 与 JSP .1 实验二 HTT ...
- java web编程技术上机实验_JavaWeb編程技术实验指导书.doc
JavaWeb編程技术实验指导书 <Java Web编程技术> 实 验 指 导 书 沈泽刚 编写 2010年3月 目 录 实验一 简单的Servlet与JSP1 实验二 HTTP请求对象3 ...
- Java Web编程技术
为什么80%的码农都做不了架构师?>>> Java Web编程技术 该文档重点讲解如何自定义标签的开发,包括简单标签的开发.TLD文件.几种常见类型标签的开发. 对其内容详细阅 ...
- java web 编程技术 pdf_Java WEB编程技术.pdf
您所在位置:网站首页 > 海量文档  > 计算机 > Java Java WEB编程技术.pdf289页 本文档一共被 ...
- 【Java Web编程 十一】深入理解Servlet监听器
上篇Blog详细介绍了Servlet的过滤器,了解到过滤器类似一个AOP的概念,这篇Blog就来学习下Servlet的监听器,了解下Java Web的第三大组件的用处是什么,又是怎么工作的. 监听器基 ...
- Java Web 编程入门知识
Java SE 的内容基本都讲完了. 但是 Java一般用于网络编程, 就是所谓的web编程. Java SE讲的基本上都是本地程序的内容. 而Java web编程需要在两个程序中传输数据, 以后就是 ...
- 用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 ...
- Java并发编程(中下篇)从入门到深入 超详细笔记
接上一篇博客笔记:Java并发编程(中上篇)从入门到深入 超详细笔记_未来很长,别只看眼前的博客-CSDN博客https://blog.csdn.net/weixin_53142722/article ...
最新文章
- 4.3.6 无分类编址CIDR
- spring启动过程之源码跟踪(中)--spring Debug
- linux自学_shell脚本for详解
- 测试markdown的发布
- linux磁盘格式化
- 搭载高通骁龙855+UFS 3.0闪存 iQOO Neo 855版正式发布
- Kubernetes - - k8s - v1.12.3 Helm持久化部署Harbor集成OpenLDAP登录
- hdu 1861 游船出租 tag:模拟
- linux下imp导入oracle数据库,Oracle数据库Linux下的导入IMP
- mysql binlog 备份_Mysql数据库的增量备份与还原
- Intel Edison学习笔记(一)—— 刷系统
- 解析、查询身份证号代码
- OFD文件在线阅读器
- 数据同步工具oracle goldengate安装与配置
- Pegasus读取传感器AD的值
- Spring Ioc源码分析系列--容器实例化Bean的四种方法
- JAVA学习——Lambda表达式是干什么用的?
- Java list.toArray()和list.toArray(T[] a)
- 自由枪骑兵修改服务器端口,自由枪骑兵存档修改器(全版本通用)
- 【2019-07-23】]python3 把日语翻译为中文 调用百度翻译API接口及API申请使用教程
热门文章
- 关于go语言中的JWT(JSON WEB TONKE)ECHO
- pixhawk自学笔记之px4程序启动顺序
- hihoCoder #1467 : 2-SAT·hihoCoder音乐节
- linux多进程知识汇总
- ofstream与ate的故事 经典!
- 数据结构课程设计(VS2012-c语言):算术表达式实现(加减乘除)
- java类结构图_java 集合类结构图
- rm: cannot remove directory `test': Permission denied
- Acknowledgement Modes
- 编写自己的Arduino库