hibernate简介

什么是hibernate? 冬眠?

Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,

它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,

使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 


为什么?
简化对数据库的操作.hibernate提供了不同数据库的统一接口,应用程序开发有了跨数据库的可能.


核心的API
configuration sessionfactoty session query transaction


工作原理
hibernate启动-->configuration(xml)-->sessionfactoty-->session


-->创建transaction-->持久化操作-->提交transaction-->关闭session


处理流程
请求-->session中查-->sessionfactoty-->DB


怎么使用?

步骤:

导包:hibernate核心包;数据库的驱动包

文件的配置:hibernate.cfg.xml(配置)/xxx.hbm.xml(映射)

调用hibernate的API对数据库进行操作


ID生成规则(重点)

  • 自增类型(mysql和sqlserver)

    create table student(id int not null auto_increment,name varchar(30),primary key(id))
    insert into student(id,name) values(null,"Tom");
    insert into student(name) values("Jack");
    映射文件的<id><generator class="identity">
    
  • 序列(oracle和db2)

    <generator class="sequence">
    <param name="sequence">seq_name</param>
    </generator>
    
  • UUID

    <generator class="uuid">
    
    create table teacher(id varchar(100) primary key,name varchar(30))

hibernate对象生命周期管理(重点)
hibernate对象就是java中的实体对象.管理就是在实体对象的生命周期中被hibernate的操作.

临时状态:内存中有对象,DB中没有数据

持久状态:内存中有对象,DB中有数据,通过操作内存中的对象修改DB中的数据

游离状态:内存中有对象,DB中有数据,对象与数据断开了连接,修改对象不影响DB中的数据


HQL查询
hibernate Query Language


面向对象的查询语言,语法类似SQL,但与数据库无关


SQL:select 字段 from 表


HQL:select 属性 from 类


常用语法:

  • from 类; 不支持"select*"

  • select 属性 from 类

  • where

  • having

  • order by

  • group by

怎么使用?

  • 获取session对象
  • 编写HQL语句
  • 创建查询对象Query
  • 如果存在参数,调用setXXXX()赋值
  • 调用Query的list()方法
  • 关闭session对象



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值