您的位置:首页 > 其它

Hibernate_学习笔记

2016-03-15 15:47 204 查看
1.Hibernate框架的作用和优点

  Hibernate主要负责对数据库进行访问操作

  Hibernate框架是对JDBC技术进行了封装。
  a.使用JDBC进行数据库操作具有以下缺点:

   --需要编写大量复杂的SQL语句

   --需要设置大量的?参数值

   --需要将ResultSet记录转换成POJO对象

   --数据库变更某些特殊功能需要改变SQL,简称移植性差。例如分页查询、主键生成方法、数据库函数等

  b.Hibernate解决上述JDBC的不足

   --自动生成SQL语句

   --自动设置?参数值

   --自动将ResultSet记录映射成POJO对象

   --采用一致的方法对数据库操作。例如分页查询和主键生成控制。移植性比较好。

   

save(admin);//insert语句

update(admin);//update语句

Admin admin =(Admin)load();//findById语句

2.Hibernate框架设计原理(思想)

  Hibernate是采用ORM思想对JDBC进行封装的设计。

  ORM:Object Relation Mapping, 对象关系映射。指的是解决Java对象和关系数据库数据之间的映射问题。

  Hibernate框架是ORM的一种实现,解决了对象和数据库数据映射问题。在数据库添加或更新时,可以将一个对象自动写入或更新数据表;查询时,可以将记录自动封装成对象返回。这些操作在中间执行时所涉及的一些细节开发者不用参与和关注。

3.Hibernate框架体系结构

  Hibernate主要由以下几部分构成

  a.hibernate.cfg.xml(1个)

    指的是hibernate框架的主配置文件。可以配置数据库连接参数、hibernate框架参数等。

  

  b.POJO实体类(n个)

    指的是与数据库对应的实体类,用于封装数据库记录的对象类型。

  c.hbm.xml映射描述文件(n个)

    指定了实体类和数据表的对应关系,类中属性和数据表字段之间对应关系。

  d.Hibenate底层的API(jar包)

   主要是对hbm.xml解析,根据写出的内容,动态生成SQL语句,自动将属性和字段映射。

4.Hibernate框架常用API

  a.Configuration

   负责加载hibernate.cfg.xml主配置信息,同时也可以加载hbm.xml信息。
  b.SessionFactory

   负责创建Session对象,对JDBC的connection对象的封装。

  c.Session

   负责执行增删改操作.提供了save,update,delete等方法。

  d.Transaction

   负责事务控制。默认情况下,Hibernate不会自动提交,因此需要事务控制才能对数据库更新。

  e.Query

   负责执行特殊查询。  

5.Hibernate框架基本应用
  1)引入hibernate开发包、数据库驱动包

  2)引入hibernate主配置文件hibernate.cfg.xml

  3)添加实体类Cost

  4)添加Cost.hbm.xml映射描述
  5)根据Hibernate提供的常用API执行增删改查操作

  //根据Class类型的主键值查询
  session.load(Class,主键值)

  session.get(Class,主键值)

  //根据Object对象的主键值删除

  session.delete(Object);

  //将Object对象更新到数据库

  session.update(Object);

  //将Object对象插入到数据库
  session.save(Object);
6.Hibernate映射类型

  在hbm.xml文件中,定义属性和字段映射时,使用了type属性,该属性用于指定映射类型,负责属性值和字段值之间的相互转化。

  在Hibernate框架中type属性允许使用两种格式:一种是Java类型,另一种是Hibernate类型(推荐)。

  Hibernate映射类型如下:

  整数映射:byte,short,integer,long

  浮点数:float,double

  字符串: string

  日期:date (年月日)

  时间: time (小时分钟秒)

  日期+时间: timestamp

  布尔类型:yes_no,true_false

 (可以完成一个布尔属性和字符之间的转换)

===========================

Java对象(sql.Date属性) <--date--> 

  YYYY-MM-DD

Java对象(util.Date属性) <--time--> 

  HH:MM:SS

Java对象(TimeStamp属性) <--timestamp-->    YYYY-MM-DD HH:MM:SS

Java对象(boolean属性) <--yes_no--> 

  Y|N

Java对象(boolean属性) <--true_false-->     T|F



7,Hibernate对象状态切换






  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  hibernate 框架 ORM