Hibernate基本概念与CRUD(增删改查)

一、开发流程 Hibernate的基本概念和CURD(增删改查)
(1)Domain类
(2)映射文件
(3)表create table user()
开发流程:1、由Domain object->mapping->db
 2、又DB开始,用工具生成mapping和Doamin object(使用较多)
 3、由映射文件开始
二、
1、实体类对象限制
(1)默认的构造方法(必须)(利用反射机制来创建的对象)
(2)有无意义的标识符id(主键) 可选
(3)非final,对懒加载有影响(可选)
2、映射文件
一个Java类在映射文件中用一对<class></class>标签表示,如果有多个Java类,就应该有多个<class>标签
这些<class>标签可以放到一个映射文件,可以放到多个映射文件。类名.hbm.xml
属性标签内可以加属性  column 表示列名   not-null="true" 不为空
3、代码编写  增删改查
一个标准的模版代码: 
try {
     tx = sess.beginTransaction();
     //do some work
     ...
     tx.commit();
 }
 catch (Exception e) {
     if (tx!=null) tx.rollback();
     throw e;
 }
 finally {
     sess.close();
 }
 
三、session对象
开启事务方法: beginTransaction() 返回一个事务


清楚缓存     clear()
释放资源     close() 
在缓冲区中找着是否包含指定的对象    contains(Object object)
生成查询对象    createCriteria()
删除某一个对象    delete()
刷新缓冲区         flush()
查询方法         get()
懒加载           load()
在查询中,如果后面使用该对象的时候,它才会去查询。
保存插入          save()     开启事务,执行插入,如果没有开启,则执行但插入不成功
保存插入          persist()   如果开启事务,它与save一样,如果没有开启事务,它根本没有执行
saveOrUpdate   根据ID和version的值来确定是save或update
nerge  独爱踢不过nerge你的对象还是托管
四、对象状态
1、瞬时状态:自己new出来对象就是瞬时状态 User user=new User();user是一个瞬时对象
在数据库的表中没有记录和瞬时对象相对应的,不被session管理
当执行:session.save(user)
2、持久状态:数据库表中有记录和这个对象相对应的,并且被session管理。
当对象在这个状态中,如果session没有关闭,更改对象的内容。数据库也会跟着改变
在session关闭。
3、脱管状态:数据库的表中有一条记录和对象相对应,但它和session没有任何关系了















评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值