Hibernate学习

Hibernate学习

ID:37924776

大小:82.00 KB

页数:13页

时间:2019-06-02

Hibernate学习_第1页
Hibernate学习_第2页
Hibernate学习_第3页
Hibernate学习_第4页
Hibernate学习_第5页
资源描述:

《Hibernate学习》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第一天持久层:实现对数据的持久化持久化:广义,对于数据对象的CRUD操作DAO模式:DATAAccessObjectORMobjectrelationMappingjava面向对象关系型数据库ORM对象关系映射类表对象记录属性(成员变量)关系类之间的关系表之间的关系CRUD(createreadupdatedelete)增删改查业务逻辑层持久层数据库(封装的方法)注册ccreate添加uupdate删除ddelete查询rread充血模型类本身封装了crud方法DAO(dataAccessObject)(处理的类名+Dao)这

2、里封装了crud方法1.定义一个Dao接口2.实现Dao完善的持久化层应该达到的目标:1,代码重用性高,可完成所有的数据访问操作。2,如果需要的话,能够支持多种数据库平台。3,具有相对独立性,当持久化层变化时,不会影响上层实现。对象关系映射(ObjectRelationalMapping,简称ORM)是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术ORM框架根据配置信息自动完成对象与关系型数据库之间的转化并在此基础上提供更多的辅助功能框架:软件的半成品,用户再次基础上开发自己的软件,提高开发效率的简化操作常见的ORM

3、框架HibernateIBatisEJBJPATopLinkHibernate:非常优秀、成熟的ORM框架。提供强大的对象和关系数据库映射以及查询功能。Hibernate是面向对象的程序设计语言和关系型数据库之间的桥梁,允许开发者采用面向对象的方式来操作关系数据库。Hibernate的目标是释放开发者通常的与数据库持久化相关的编程任务的95%。消除那些针对特定数据库厂商的SQL代码。Ibatis:相比Hibernate灵活高,运行速度快。开发速度慢,不支持纯粹的面向对象操作,需熟悉sql语句,并且熟练使用sql语句优化功能。Hi

4、bernate的主要功能1.根据配置文件完成ORM转化自动生成CRUD操作2.提供面向对象的查询语言3.提供缓存功能,提高程序的运行效率4.提供跨数据库的方言使用hibernate所需要的jar1.Hibernate核心jar包hibernate32.hibernate依赖组建,在lib文件夹下3.jdbc驱动开发hibernate步骤第一步编写映射文件.hbm.xml第二部:编写hibernate配置文件hibernate.cfg.xml(1)配置数据库连接信息(2)配置映射文件路径信息

5、>(3)缓存信息(4)其他杂项第三部:获取session对象(1)读取配置文件Configurationcfg=newConfiguration();cfg.configure(filePath);(2)创建SessionFactorySessionFactorysessionFactory=cfg.biuldSessionFactory();1.重量级对象,创建消耗资源大,耗时长一个数据库创建一个SessionFactory2.这个对象是线程安全的3.缓存根据配置文件生成CRUD的语句4维护二级缓存5.创建session对象S

6、essionsession=sessionFactory.openSession();(1)负责执行CRUD操作session.save(Object);(2)轻量级对象可以频繁的创建与销毁(3)线程不安全建议一个线程独享一个Session一个事务对应一个Session的使用(4)维护一级缓存Session常用方法1.save(Object)保存方法返回当前插入主键的值2.persist(Object)保存对象无返回值3.get(class,主键)根据主键读取对象如果对应的记录不存在则返回空4.load(class,主键)根据主

7、键读取对象如果对应的记录不存在则抛出异常懒加载:调用load()的时候并不是立即执行sql语句去查询,而是返回一个代理对象。当第一次访问代理对象的任意一个属性值时才发出sql语句访问数据库如果数据库没有对象的记录,则抛出异常。如果加载的类是final修饰,则懒加载机制失效。(final修饰的类是不可以继承的像String)代理对象:就是我们要查寻对象的一个子类。classAextendsB{pubicObjectgetObject(){if(b==null){这时才执行sql访问数据库}}}5.update(Object)更新不

8、被Session管理的对象更新结束后,将对象重新加入到session的管理中,直到commit结束在session的管理中的对象直接掉用set方法就可以更新,不再调用update6.deletet(Object)e删除对象,如果该对对象在session管理内则在

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。