基本概念和CURD

 

基本概念和CURD
Hibernate需要的三个条件
(1)、Domain类
(2)、 映射文件User.hbm.xml 
(3)、表create table user();
一、开发流程
1、 由Domian object ->mapping->db(官方推荐)
2、 由DB开始,用工具生成mapping和Domain object。(使用较多)
3、 有映射文件开始
二、
1、实体类对象的限制
(1)默认的构造方法(必须的)。Hibernate反射机制调用实体类
(2)有无意义的标示符id(主键)(可选)
(3)非final的,对懒加载有影响(可选)
2、映射文件
一个Java类在映射文件中用一对<class>标签表示。如果有多个Java类在映射文件中要有多个<class>标签。这些<class>标签可以放到一个映射文件中,也可以放到多个映射文件中。
映射文件名一般用 类名.hbm.xml
4、 代码编写
工具类HibernateUtil
public final class HibernateUtil {
 private static SessionFactory sessionFactory;
 private HibernateUtil(){
  
 }
 static{
  Configuration cfg=new Configuration();
  cfg.configure();
  sessionFactory = cfg.buildSessionFactory();
 
 }
 public static SessionFactory getSessionFactory(){
  return sessionFactory;
 }
 public static Session getSession(){
  return sessionFactory.openSession();
 }
}
Session接口中常用方法
1、save,persist保存数据,persist在事务外不会产生insert语句。
 2、delete,删除对象
 3、update,更新对象,如果数据库中没有记录,会出现异常。
 4、get,根据ID查,会立刻访问数据库。
 5、Load,根据ID查,(返回的是代理,不会立即访问数据库)。
 6、saveOrUpdate,merge(根据ID和version的值来确定是save或update),调用merge你的对象还是托管的。
 7、lock(把对象变成持久对象,但不会同步对象的状态)。

(1) 瞬时状态:自己new出来的对象就是状态
User user=new User();//user是一个瞬时对象数据库的表中是没有记录和瞬时对象是相对应的
Session.save(user);
(2) 持久状态:数据库表中有相应记录是和这个对象相对应的,并且被session管理
(3) 脱管状态:数据库的表中有一条记录和对象相对应,但它和session没有任何关系了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值