5dJava笔记之Hibernate.docx
- 文档编号:2793541
- 上传时间:2022-11-15
- 格式:DOCX
- 页数:64
- 大小:49.11KB
5dJava笔记之Hibernate.docx
《5dJava笔记之Hibernate.docx》由会员分享,可在线阅读,更多相关《5dJava笔记之Hibernate.docx(64页珍藏版)》请在冰豆网上搜索。
5dJava笔记之Hibernate
Hibernate简介
数据持久化组件,对象持久化,把数据保存在永久的存储介质中(数据库)。
对象持久化理论
1.把数据(内存中对象的数据)保存到持久设备(硬盘,磁带,DVD,闪存,打孔带)数据库。
2.内存易逝(容易丢失数据),容量小。
3.优点:
共享数据方便管理(安全,备份)大规模检索
增值服务
怎样进行对象持久化:
1.JAVA平台对象序列化:
一般用于远程方法调用。
用于少量数据,短时间持久化。
如购物车是内
存中的对象,服务器维护2-3分钟,要序列化。
2.JDBC+DB:
为对象持久化而设计的企业级应用。
JDBC优点:
在一定条件下,从理论上效率高,功能完备,是最底层的API。
缺点:
代码量大,比较复杂。
3.EJB:
封装了JDBC,但API复杂,开发周期长,难于测试。
4.ORM:
来于民间,来源实践,纯面向对象,封装了JDBC,适宜的API轻量级(可选的服务)利用数据库做企业级对象持久化,一定用Hibernate。
开发环境
1.建立JAVA普通项目
2.创建userlibrary引用JAR包
1
Hibernate_home/lib/*.jarHibernate_home/hibernate3.jarMysql或者JDBC驱动
3.给项目引用userlibrary库,把配置文件hibernate.cfg.xml放src下。
定义映射文件实体类名.hbm.xml配置映射关系。
在myeclipse中配置DTD对xml校验:
1,导入hibernate库文件
(1)在eclipse中建立一个java工程,如:
hbn
(2)在工程hbn的属性--BuildPath中选择AddLibraries
(3)在AddLibraries窗口中选择UserLibrary点next按钮
(4)在UserLibrary窗口中点UserLibraries...按钮
(5)在UserLibraries窗口中,点new按钮
(6)在Newuserlibrary窗口中,填写一个Userlibaryname(如:
hbnlib,注意不要选择System
libary复选框),点OK按钮回到UserLiberies窗口
(7)在UserLiberaries窗口中选择刚刚创建的
hbnlib,点Addjars按钮
(8)在打开的文件选择窗口中找到解压好的hibernate的库文件,全部选中,点"打开"按钮,返回UserLibraries窗口
(9)在UserLibraries窗口中点OK按钮,返回
UserLibrary窗口;再点Finish按钮,结束操作
2,导入2个hibernateDTD文件hibernate-configuration-3.0.dtdhibernate-mapping-3.0.dtd
(1)在eclipse中选择Window菜单中的Preferences
选项
(2)在Preferences窗口中,选择FilesandEditors的XML节点中的XMLCatalog子节点
(3)在XMLcatalog子节点选中状态下,选择右侧窗口中的UserSpecifiedEntries选项,然后点窗口下方的Add按钮
(4)在AddXMLCatalogEntry窗口中,填写URI文本框(点文本框右端的按钮,选择filesystem,在弹出的文件选择窗口中选择
hibernate-3.2\src\org\hibernate\hibernate-configuration-3.0.dtd
(5)用文本编辑器打开该DTD文件,选择文件头部,
DOCTYPE>标签中PUBLIC后状如:
-//Hibernate/HibernateConfigurationDTD3.0//EN
的字符串,然后将该字符串拷贝到
AddXMLCatalogEntry窗口中Key文本框中
(6)对hibernate-mapping-3.0.dtd重复4、5两步
2
OR/M对象关系映射
objectrelationmapping
POJO类,就是标准的JavaBean。
Hibernate的工作原理:
封装了JDBC,Java只能用JDBC访问数据库。
Hibernate就是一个可以自动的根据xml完成对象关系映射,并持久化到数据库的开源组件。
Hibernate的底层也是有JDBC实现的。
接口:
session线程不安全的,轻量级的,一个线程一个session。
sessionFactory线程安全的,重量级的比较耗资源。
类:
configuration读取配置文件数据库信息,正确连接数据库。
单一实体映射:
单个PO-单个表,类-表,对象-记录,属性-字段。
用不含业务关系的做主键。
Oid(唯一性)
hilo算法,高低位算法。
(每个应用程序一个计数器,从数据库里取出的数作为高位,应用程序的作为低位,可以保证得到的Oid不重复,并且不用多次访问数据库。
hibernate是通过xml文件的配置,对数据库的底层的方言,以及数据库连接所需的信息,以及连接数据库的驱动。
hibernate的系统配置文件的名字一般叫做hibernate.cfg.xml,一般是映射类名加.hbm.xml。
一般将映射类的xml文件和实体类放在一起。
hibernate.cfg.xml中会设置数据库的连接信息,以及引用的其他文件的文件名,和一些其他的设置。
这个文件一般放在项目的根目录下。
映射关系配置
在hibernate中其他类型可以自动识别只有Date类型必须指定。
在hibernate.cfg.xml的写法:
xmlversion="1.0"?
>
DOCTYPEhibernate-configurationPUBLIC
"-//Hibernate/HibernateConfigurationDTD3.0//EN"
"
3
--显示sql语句-->
--使显示的sql语句格式化-->
--使用的数据库的驱动-->
org.gjt.mm.mysql.Driver
--连接数据库使用的url-->
jdbc:
mysql:
//127.0.0.1:
3306/zhaoqp
--连接数据库的用户名-->
--连接数据库的密码-->
—自动建表/create/none先删除后创建-->
--使用的数据库方言信息-->
4
--
org.hibernate.dialect.Oracle9Dialect
-->
org.hibernate.dialect.MySQLDialect
--引入的映射对象的xml文件的全路径及文件名-->
hibernate的映射类的XXXX.hbm.xml的写法:
1.Product.hbm.xml
xmlversion="1.0"?
>
DOCTYPEhibernate-mappingPUBLIC
"-//Hibernate/HibernateMappingDTD3.0//EN"
"
--映射类所在的包-->
--将类和数据库的表联系起来-->
5
--主键生成策略-->
--类中的属性和字段之间建立联系-->
2.User.hbm.xml
xmlversion="1.0"?
>
DOCTYPEhibernate-mappi
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- dJava 笔记 Hibernate