hibernate介绍摘录

来源:互联网 发布:php开源框架排行榜 编辑:程序博客网 时间:2024/06/14 21:14
orm-object relational mapping.即对象关系映射。它是一种为了解决面向对象与关系数据库的互不匹配的技术。通过使用描述对象与数据库之间的映射的元数据,将java程序中的对象自动持久化到关系数据库中。


hibernate开发流程
1:创建hibernate的配置文件
配置文件有hibernate.properties和hibernate.cfg.xml
在hibernate.cfg.xml中通过<mapping resource="*.hbm.xml">来导入*对象类的映射文件。
2:创建hibernate的映射文件
<class name="对象类名" table="数据库表名">
<id name="类属性" column="表的主键">//用id来指定对象的主键属性 column对应主键
<generator class=""/>
</id>
<property name="类属性" column="表的列"/>
<property name="类属性" column="表的列"/>
…………
如果类属性与表的列名字一样可以使用通配符*
<property name="*"/>就可以完成
3:创建持久化类


hibernate核心api:
1:Configuration装载配置类
Configuration接口负责配置并启动hibernate,创建sessionfactory对象。
在hibernate的启动过程中,configuration类的实例首先定位映射文档位置,
读取配置,然后创建sessionfactory对象。
2:SessionFactory创建Session类
sessionfactory接口负责初始化hibernate。她充当数据存储源的代理。并负责创建session对象。
一般情况下一个项目只需要一个sessionfactory,当需要操作多个数据库时,
可以为每个数据库指定一个sessionfactory。
3:Session数据库操作类
负责执行被持久化对象的crud操作。session对象是非线程安全的。
crud(create,read,update,delete)
4:Transcation事务操作类
transaction接口负责事务的相关操作。(对数据库操作的过程开始到关闭为一个事务)
当出现异常时候,数据库回滚是以事务为单位的。
5:query和criteria接口
负责执行各种数据库查询。可以用hql和sql两种语言操作。


configuration装载配置文件xml
一般情况下,configuration会自动加载在hibernate.cfg.xml里以及里面mapping的xml配置文件。
不需要硬编码。Comfiguration().cfg.configure()
1:为configuration指定映射文件
Configuration cfg=new Configuration().addResource("xml文件的url")


transaction管理事务
Configuration cfg=new Configuration().configure();
SessionFactory sf=cfg.buildSessionFactory();
Session session=sf.openSession();
Transaction tx=session.beginTrainsaction();
…………
…………
session.save(object);
tx.commit();
session.close();
sf.close();
0 0
原创粉丝点击