Hibernate笔记(1)

1. 什么是Hibernate 及其应用。

   首先, Hibernate 是一个数据库操作的框架,可以简化数据库操作代码,提升开发效率。

   其次,Hibernate 是对JDBC 技术的一个封装。因为原有的JDBC技术在操作数据时,有以下几点不足:

    1)需要编写复杂的SQL 语句。

    2)需要编写大量的代码实现对象和表记录之间的转换。

    3)数据库移植性较差

  再次,Hibernate 框架可以解决上述JDBC 的不足,它有以下优点:

    1)可以自动生成SQL

    2)可以自动完成实体类和表记录之间的转换(映射)

    3)可以增强数据库的移植性


2.Hibernate 的设计原理

 Hibernate 框架是基于ORM 思想对JDBC 进行封装设计的。

 ORM(Object Relation Mapping) 被称为对象关系映射。主要思想是能够完成程序中Java实体对象和关系数据库中表记录之间的转换。可以将对象直接写入数据库,

 查询时可以直接从数据库中以对象的形式取出结果。中间对象和记录的转换细节由ORM框架负责,开发者对底层细节不用关心。


3.Hibernate 框架结构

   Hibernate 框架使用时,需要以下几个重要文件:

  1)实体类(*.java,n个)

  2)hibernate.cfg.xml(仅1个)       它是Hibernate框架的主配置文件,主要定义数据库和框架的一些连接参数

  3).hbm.xml (n 个)      它是Hibernate 框架的映射描述文件,主要描述实体类和数据表,类属性和表字段之间的对应关系。

  4)Hibernate 编程API

   ① Configuration        负责加载hibernate.cfg.xml 配置文件

   ② SessionFactory    负责生成数据库的连接对象(Session)

   ③ Session                代指程序与数据库的一个连接,用于执行增、删、改、查等基本操作

   ④ Query                    用于执行非主键查询的操作。(HQL语句)

   ⑤ Transaction           用于事务控制,将两个或两个以上的DML操作封装成一个整体操作。


4. Hibernate 基本应用

 使用步骤:

 1)引入Hibernate 框架开发包、数据库驱动包

 2)引入Hibernate.cfg.xml 配置文件(src)

 3)根据数据表编写一个实体类

 4)编写*.hbm.xml映射描述文件(描述实体类和表之间的对应关系)

 5)使用Hibernate API 编程


// 按主键作条件查询

session.load();      session.get();

//添加记录 - 插入

session.save(obj);             主键值生成方式在hbm.xml映射描述部分设置;进行DML操作,必须显示追加事务commit 

//更新记录- 更新1行(按主键做条件)

session.update(obj);         obj 需要通过session.get/load 查询,不推荐new 方式,因为会将未设置属性值的字段清空

//删除记录-删除一行(按主键做条件)

session.delete(obj);           obj可以通过session.get/load 查询,也可以new 指定id 值


 5.Hibernate 映射类型

在hbm.xml中定义属性和字段映射时,通过type 属性指定映射类型,可以采用下面两种方式指定:

 1)指定Java类型: java.lang.String;  java.lang.Integer

 2)Hibernate 映射类型(推荐)

  字符串:string ;      整数:byte, short, integer, long ;      浮点数:float, double ;    日期:date, time, timestamp ;       

 boolean类型:true_false: 完成实体类boolean属性和表字段char之间转换。 true值转换成 T;   false值转换成 F

                         yes_no: 完成实体类boolean 属性和表字段char之间的转换。    true值转换成Y; false值转换成N

  

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值