Hibernate第一章知识点的总结

1.Hibernate映射文件中:

<generator class="increment"/>

1)class的值等于native或increment:表格中的主键是自动生成的;

2)Class的值等于assigned:主键是自己手动添加的;

2.调用save的时候,即便没有事务提交,也会从数据库查询主键值(主键生成策 略是通过数据库产生)

3.缓存

1)缓存的一个重要的功能就是避免重复读取数据库。

2)所有的缓存都是放在session中,这个也称之为hibernate框架的一级缓 存。

4.状态

1)对象的状态也称之为对象的生命周期。

2)Hibernate只分了3个阶段:

I.临时,瞬时()(transient)

II.持久化(persistent)

III.游离,托管,分离(),离线(detached)

5.使用Hibernate实现持久化的几个步骤:

1)编写持久化类PO,由POJO加映射文化构成

2)获取Configuration(Web开发中,因为hibernate.cfg.xml在默认的路 径下,用不带参数的new Cofiguration().configure()即可)

3)获取SessionFactory

4)获取Session,打开事务

5)用面向对象的方式操作数据库

6)关闭事务,关闭Session

6.Hibernate的工作原理:

1)通过Configuration config = new Configuration();//读取并解析 hibernate.cfg.xml配置文件

2)由hibernate.cfg.xml中的

<mapping resourse=“com/xxx/User.hbm.xml”/>读取并解析映射信息

3)通过SessionFactory sf = config.buildSessionFactoty();//创建 SessionFactory

4)Session session = sf.openSession();//打开Session

5)Transaction tx = Session.beginTransaction();//创建并启动事务 Transation

6)Persistent operate操作数据,持久化操作

7)Tx.commit();//提交事务

8)关闭Session

9)关闭SessionFactory

7.为什么要用Hibernate

1)对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性 代码。

2)Hibernate是一个基于JDBC的主流持久化框架,是一个优秀的DRM的实现。 他很大程度的简化DAO的编码工作。

3)Hibernate使用java反射机制,而不是字节码增强程序来是实现透明性。

4)Hibernate的性能非常好,因为它是个轻量级框架,映射的灵活性很出色, 它支持各种关系数据库,从一对一到多对多的各种复杂关系。

8.知识点小结:

1)增删改是必须要有事务的,因为hibernate把Connection对象设置为非自 动提交模式

2)查询可以不需要(OpenSession的方式)

3)HibernateUtil的写法

4)Dao对象里面传入的是SessionFactory

9.SessionFactory

1)创建session对象

2)它是线程安全的

3)一般来说一个项目,只有一个SessionFactory对象

4)SessionFactory会管理元数据

10.Session

1)表示是数据库的一个会话

2)Session对象里面一定会有一个JDBC的Connection对象,Session于 Connection是一对多的关系,就是说一个Session可以关联不同(多个) 的Connection,但是在Session使用时,是只有一个Connection。

I.OpenSession创建了一个Session,此时已经有一个Connection与 Session关联了。

II.session.disconnect(),此时session就不与任何connection关联

III.session.reconnect此时session就会重新关联一个connection

3)Session是线程不安全的。

4)得到session的方法有两种:a)OpenSession,b)getCurrentSession

5)每次调用OpenSession的时候,都会创建一个全新的Session

11.池:

一般在编程中指的是对象池,hibernate里面,默认都是会用池来管理Connection

12.Dao方法中查询的要注意的地方:

13.数据库的连接配置文件(hibernate.cfg.xml)要注意的地方:

1)<property name=”hbm2ddl.auto”>create</property>:在已创建表格 时,可以注释,如果注释了,添加执行时就会在原表上再新增一条数据,否 则,会创建一张新表,把之前的表覆盖。、

2)<property name=”show_sql”>true</property>

<property name=”format_sql”><property/>:如果配置这两行代码, 在运行时就会在后台显示出数据(例如:创建表数据,添加数据等)

14.状态转换图:

时间: 2024-10-10 10:01:42

Hibernate第一章知识点的总结的相关文章

《零压力学Python》 之 第一章知识点归纳

第一章(初识Python)知识点归纳 Python是从ABC语言衍生而来的 ABC语言是Guido参与设计的一种教学语言,为非专业编程人员所开发的. Python是荷兰程序员 Guido Van Rossum于1991推出的,保留着ABC的很多功能,而且也融入了Modula-3语言的元素. Modula-3有着简单和安全的特点. Python命名的灵感来自BBC的喜剧<巨蟒剧团这飞翔的马戏团>,这门语言与蟒蛇没有直接的联系,虽然剧团的成员John Cleese最初命名时隐含着"阴险&

计算机网络第一章知识点总结

第一章概述 1.三网融合:电信网络.有线电视网络.计算机网络 2.Internet 是人类自印刷术发明以来在存储和交换信息的领域中的最大变革 3.互联网的两个重要基本特点:连通性和共享性(指资源共享) 4.计算机网络由若干结点和连接这些结点的链路组成(有线/无线) 5.互连网是"网络的网络". 6.互联网基础结构发展的三个阶段: ①第一阶段是从单个网络ARPANET向互连网发展的过程. ②第二阶段的特点是建成了三级结构的互联网.三级计算机网络:主干网.地区网.校园网(或企业网). ③第

CLR Via第一 章 知识点整理(4) FCL、CTS、CLI和CLS

FCL(Framework Class Library) Framework 类库: FCL是 .net Framework 包含的一组DLL程序集的统称,FCL包含了提供了很多功能,关于这一部分没有什么好说的,只需要了解大致你需要的功能由什么类提供以及类型在那个命名空间,接着在查询接口文档即可.以下是FCL常用的命名空间 CTS(Common Type System)公共类型系统CTS 是是微软制定的一套类的定义规则,如果存在与CTS不符合的定义或者功能则会出错,但是不使用则会通过CTS规范规

MDN——javascript——入门——第一章——知识点总结

1.什么是js: JavaScript 是允许你在网页中实现复杂事情的一门编程语言 例子: var para = document.querySelector('p'); para.addEventListener('click', updateName); function updateName() { var name = prompt('Enter a new name'); para.textContent = 'Player 1: ' + name; } JS APIs: 1浏览器 A

行为科学统计第一章知识点总结

1.什么是总体?什么是样本?总体是一个研究的所有研究对象的个体的集合.样本是被选择出来的参与研究的特定的个体集合.样本被期望能够代表总体. 2.描述总体的特性的,如总体的平均数,被称为 参数. 3.总体和参数之间的关系与样本和 统计量 之间的关系是一样的. 4.统计技术被分为两大类.它们分别被称为什么?每一类技术的一般性目的是什么?这两个类别是描述性统计与推论性统计.描述性技术被用于组织.简化并总结数据.推论性技术使用样本数据做出关于总体的一般性结论. 5.简单定义取样误差的概念.取样误差是得到

2017上半年软考 第一章 重要知识点

第一章 信息化的知识,具体讲了:重要的知识点是: 融合,信息技术和工业制造深度融合.人和机器的融合.信息资源和材料资源的融合 :信息论奠基者:香农: 信息的传输技术是信息技术的核心: 恰当的冗余编码可以在信息收到噪声侵扰时被恢复: 信息系统的基本规律应包括信息的度量.信源特性饿信源编码.信道特性和新到编码.检测理论.估计理论以及密码学: 信息系统特性:目的性.可嵌套行性.稳定性.开放性.脆弱性.健壮性: 信息系统生命周期:立项[规划].开发[分析.设计.实施].运维.消亡: 信息化层次:产品信息

Delphi知识点与技术概述【第一章Delphi编程】

Delphi的基本特性:语言,运行时库(RTL),核心类库 语言特性: Delphi 即是一门语言同时又是一个开发工具.它是经典Pascal语言的面向对象的扩展. 内容提要 *类与对象 Delphi中每个可视放置在窗体中的组件是类的类型对象,该类可在系统库中获得.类和对象之间的关系和变量和类型之间的关系相同. *封装:provate public "黑盒子",不需要知道里面有什么,只需要知道怎么样和黑盒子接口. 基本的3个访问标示符private.protected.public.它只

hibernate 实战(第一章)

java中链接数据库使用的是java database connectivity (JDBC)来对数据库进行操作.crud操作.还有数据库事务等等操作.java中和数据库链接使用的是各种数据库的驱动.在项目中只需要加载不同数据库的驱动就可以进行对数据库的操作.数据库分为关系型数据库和nosql类型的数据库.以MySQL为代表,在Java中只需要加载一个MySQL的驱动我们就可以操作数据库完成开发的基本任务.但是不可能像dba那样对数据有非常高的要求.但是在设计数据库的时候可以和dba进行一些优化

《软件开发工具》知识点-第一章绪论

第一章 绪论 1.软件开发工具的概念: 在高级程序设计语言基础上,为提高软件开发的质量和效率,从规划.分析.设计.测试.成文和管理各方面,对软件开发者提供各种不同程度的帮助的一类广泛的软件. 理解: (1)是在高级程序语言之后,软件技术进一步发展的产物 (2)目的是在开发软件过程中,给予不同方面.不同程度的支持和帮助. (3)它支持软件开发全过程,而不是仅限于某个特定的阶段 2.计算机软件发展的几个阶段: 四个阶段: (1)第一代计算机语言——机器语言阶段 (2)第二段计算机语言——汇编语言阶段