【SSH网上商城】Hibernate详解(一)
来源:互联网 发布:台湾图解gv新域名2017 编辑:程序博客网 时间:2024/05/22 08:28
【背景介绍】
SSH中另一个重要的角色是Hibernate。它是用来把程序的Dao层和数据库打交道用的,它封装了JDBC的步骤,是我们对数据库的操作更加简单,更加快捷。利用Hibernate框架我们就可以不再编写重复的JDBC代码,不再反复的测试我们的SQL语句写的如何。这里这需要我们简单配置,调用框架给我们提供的方法,就可以完成对数据增删改查的。今天小编给大家分享一些Hibernate基本知识。
【Hibernate概述】
1)是什么?
Hibernate是轻量级javaEE应用持久层解决方案,Hibernate不仅管理java类到数据库表的映射(包括Java数据类型到sql数据类型的映射),还提供数据查询和获取数据的方法,可以大幅度缩短使用JDBC处理数据持久化的时间。
2)与JDBC的渊源
传统的Java应用都是采用JDBC来访问数据库的,但传统的JDBC采用的是一种基于SQL的操作方式,这种操作方式与Java语言的面向对象特征不太一致,所以JavaEE应用需要一种技术,通过这种技术能让Java以面向对象的方法操作关系数据库。
这种特殊的技术就是ORM,最早的ORM是Entity EJB,EJB就是经典JavaEE应用的核心,从EJB到EJB2.X,度多人觉得EJB非常繁琐,所以导致EJB备受诟病。
在这种背景下,Hibernate框架应运而生,Hibernate框架是一种开源的、轻量级的ORM框架,它允许将普通的、传统的Java对象映射成持久化类,允许应用程序以面向对象的方式来操作简单的java对象,而Hibernate框架则负责将这种操作转换成底层的SQL操作。
1、JDBC简介:
* 优点:
直接底层操作,提供了很简单、便捷的访问数据库的方法,跨平台性比较强.灵活性比较强,可以写很复杂的SQL语句.
* 缺点:
无法做到面向对象编程.
操作繁琐,重用性低.
批量操作时,频繁与数据库交互,效率极低.
2、与JDBC相比Hibernate解决了哪些问题:
* 它实现了面向对象的数据库编程.
* 相比JDBC来说,代码书写简单化了.
* Hibernate提出缓存机制,反问数据的效率得到极大提高.
* Hibernate使用java反射机制,而不是字节码增强程序类实现透明性.
3、ORM框架-hibernate
* 是一个开源的持久层框架.
* ORM(Object/RelationMapping)映射工具,建立面向对象的域模型和关系数据模型之间的映射.
* 连接java应用和数据库的中间件.
* 对JDBC进行封装,负责java对象的持久化.
*在分层结构中处于持久化层,封装对数据库的访问细节,是业务逻辑层更专注于实现业务逻辑.
4、Hibernate的优势
*开源和免费的License,方便需要时研究源代码,改写源代码,进行功能定制。
*轻量级封装,避免引入过多复杂的问题,调试容易就,减轻程序员负担。
*有可扩展性,API开放。功能不够用的时候,自己编码进行扩展。
*开发者活跃,产品有稳定的发展保障。
【基本应用】
1、下载安装:
登录网站:http://www.hibernate.org/downloads即可下载Hibernate的压缩包。文件目录如下图所示:
其中,
documentation文件夹下存放了Hibernate的相关文档,包括Hibernate的参考文档和API文档等。
lib文件夹下存放了Hibernate编译和运行所依赖的第三方类库。
project文件夹下存放了Hibernate各种相关项目的源代码。
hibernate*.jar是Hibernate核心jar包。不管是使用Hibernate框架,还是Hibernate JPA实现都需要这个jar包。
【学习小结】
这篇是对Hibernate基础知识介绍、简单的下载安装。在网上商城中只是使用了它的jar包,初级阶段,没有进行扩展。下篇博客中将深入理解Hibernate。
- 【SSH网上商城】Hibernate详解(一)
- 网上商城SSH各个类间的关系(一)
- 【Java】SSH网上商城错误及解决方案总结(一)
- 搭建一个SSH框架的网上商城(一)
- SSH网上商城环境配置—浅析Hibernate
- SSH网上商城:回首网上商城
- SSH网上商城(一)---用户注册激活邮件
- SSH网上商城
- SSH网上商城
- 【SSH】Hibernate学习(一)
- SSH网上商城【什么是SSH】
- 【SSH网上商城】--SSH简介
- SSH网上商城颗粒归仓【一. AjAX异步校验】
- 网上商城ssh问题汇总
- SSH网上商城---邮件发送
- 【SSH网上商城】---用户注册
- 【SSH网上商城】MyEclipse10激活
- SSH网上商城环境搭建
- HDU 2034 人见人爱A-B(坑呀...格式)
- 利用Filter 过滤字符编码的格式
- XP下vs2008-qt4.8.6编译Qgis:qwt编译
- 软件工程感想
- Prim算法
- 【SSH网上商城】Hibernate详解(一)
- SICP学习笔记:求幂,用对数的算法复杂度解决fib数列
- 理解面向对象
- XMPP即时通信的效果图
- AndroidStudio下快速生成Model,如何为Model瘦身
- Android中Activity启动模式学习笔记
- 第一个C语言程序
- JavaScript 实现延迟合并处理任务
- Android开发之滑动效果+页面分支跳转