【学习笔记】Hibernate中文参考手册第一章学习笔记

                        本章学习内容:

                         1:Hibernate框架的背景及其作用为什么要用Hibernate框架?

                         2:HIbernate框架都是由什么组成的它的核心是什么以及orm(对象关系映射)?

                         3:Hibernate框架的配置文件(cfg.xml)与映射文件(hbx.xml)及其配置信息

                         4:hibernate框架的细节操作

                         详细记录

                 hibernate框架是由Gavin King所开发的 对于持久层优化的ORM框架,之前在使用java访问数据库时尤其是关系数据库,程序员大多数使用jdbc的方式

                         来访问,而jdbc繁琐,重复的操作,低下的编码效率影响几代程序,让程序员"受惊折磨 ",程序员把大多数时间用在了数据持久化,进而忽略了业务.并且在使用jdbc编写时,代码的错误率会提升.基于以上几点Hibernate框架应孕而生,所以Hibernate就是解放了程序员在持久层的精力让程序员可以把更多的时间和精力用在业务上..

                          Hibrenate用面向对象的方式来封建jdbc来操控数据,尤其是它的Orm(对象关系映射) 极大方便了程序的编码,减少了重复的代码.而且hibernate的移植性很高,它所提供的配置参数可以自动生成表结构,以及在更换数据库时hibernate更是突出,根据不同数据库所生成不同的sql语句.Hibernate是当之无愧的java(使用jdbc)访问数据库的金牌帮手                           

                          hibernate框架是由一些由hibernate框架开发者所写的jar包(一些类的组合文件)组成的,在它里面有5大核心接口:

                          1:configure(安装,配置):管理Hibernate配置文件.根据启动的hibernate配置文件(默认为hibernate.cfg.xml)创建sessionFactory

                          2:sessionFactory:负责初始化Hibernate,它负责创建session同时告知程序所使用的数据库.

                          3: session:Hibernate的数据库管理器,负责保存,修改,加载,查询,删除是hIbernate的主要核心接口.

                          4:transaction:负责事务处理

                          5:criteria接口和query接口:负责查询,条件,关联.

                          ORM(对象关系映射):主要实现的是程序对象(面向对象)到关系数据库的映射,类对应表,类的属性对应表的字段.一行记录对应程序中一个实体.

                        

                          在Hibernate中有2个必需的配置文件.一是后缀为cfg.xml代表数据库信息.二是后缀为hbx.xml代表映射文件映射的信息和关联的映射也就是ORM的主要体现

                           Hibernate.cfg.xml一般的默认名称该配置文件主要负责数据库连接时用到的信息,它里面有丰富的参数给用户使用,但是有个别是固定必须有的

                           通常它的头元素为<hibernate-configuration>其次是<sessionfactory>注意都是成对出现其次都是用<property>元素来设置的,在改元素内部有个name属性它有这几个取值是必须要有的.connection.driver_class代表驱动类的字符串.connection.url代表数据库的连接字符串connection.username用户名connection.password密码以及dialect代表数据库的方言是用来生产特定的sql语句记住这里面用到的DTD(xml的约束)可以从hibernate core类库下的hibernate3.jar包中有俩个dtd的文件下提取..

                           Hibernate.hbx.xml文件主要负责的是将程序中的类对应到数据库中的那个表,也就是产生映射,它告诉Hibernate如何去加载,去保存持久化的对象,应该访问数据库中的那个表如何访问,以及使用那些字段.可以是这个文件如果没有我们就无法自动完成持久化.

                           同样dtd可以去可以从hibernate core类库下的hibernate3.jar包中有俩个dtd的文件下提取..当然有的java工具譬如myelicpse可以自动生成.这个文件中头标签为

                            <hibernate-mapping>之后是<class>代表这个映射文件属于哪个类以及对应数据库的那张表.而跟cfg.xml一样映射文件也是通过property这个元素来添加内容的,

在映射文件中,property元素就是用来绑定属性到表字段的,property的name属性用来设置类的属性当然它会告诉hibernate应该使用哪个get或set,而column用来设置对应的字段名

其中主键生成器比较特别它是使用<id>标签的并且里面有个<generator>代表主键将以何种形式生成.而生成的形式也关系到getset的访问级别比如以序列的形式我们通常就会将set设置为private来避免程序出错

                         

                           Hibernate里面有许多的细节这些细节都是开发人员因为某种原因所设置的可以说是煞费苦心....

                           我们知道hibernate虽然如此强大,但是其本身还是在使用sql语句和jdbc只是对它进行了封装,所以它查询出来的其实也是表格形式的数据但是hibernate对其进行了封装所以返回的是类(对象)那么也就是说hibenate需要个构造器也就是对象的无参构造方法.......

                           在关联映射的时候,一的哪一方我们会用一个集合来保存,可是为什么是set而不是list呢?原因就在于set集合不允许有重复数据更加严谨...

                            而关于session就更加复杂了.它的开启和关闭已经很多特性都是研究hibernate的重要....在后续学习中要特别注意....

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值