Fork me on GitHub

Hibernate核心API

------------------------siwuxie095

   

   

   

   

   

   

   

(一)Configuration

   

   

1、一般情况

   

   

或:

   

   

   

加载核心配置文件:在 src 下找到名称为 Hibernate.cfg.xml

的配置文件,将其放到对象中

   

   

   

2、特殊情况

   

   

   

加载核心配置文件:在 src 下的 config 文件夹中找到 hibernate.cfg.xml

   

   

   

   

   

(二)SessionFactory

   

   

1、使用 Configuration 对象创建 SessionFactory 对象

   

   

   

创建 SessionFactory 对象的过程中,会根据核心配置文件,到

数据库中根据映射关系将表自动创建出来

   

注意:自动创建表的前提是在核心配置文件中加入如下配置

   

   

   

   

2、创建 SessionFactory 对象的过程特别耗费资源

   

1)解决方法:在 Hibernate 操作中,建议一个项目只创建一个 SessionFactory 对象

   

2)具体实现:写一个工具类,用静态代码块实现

   

「静态代码块在类加载时执行,且只执行一次」

   

   

   

   

包名:com.siwuxie095.utils

类名:HibernateUtils.java

   

HibernateUtils.java:

   

package com.siwuxie095.utils;

   

import org.hibernate.SessionFactory;

import org.hibernate.cfg.Configuration;

   

public class HibernateUtils {

 

static Configuration cfg=null;

static SessionFactory sessionFactory=null;

 

//或:加上 private final 亦可,不过此时不能等于 null

// private static final Configuration cfg;

// private static final SessionFactory sessionFactory;

 

//静态代码块

static {

//加载核心配置文件

cfg=new Configuration();

cfg.configure();

sessionFactory=cfg.buildSessionFactory();

 

}

 

//提供方法返回 sessionFactory

public static SessionFactory getSessionFactory() {

return sessionFactory;

}

 

}

   

   

   

   

   

(三)Session

   

   

1、Session 类似于 JDBC 中的连接 Connection

   

   

   

   

2、可以调用 Session 的不同方法实现 CRUD 操作

   

1)增:save() 方法

   

2)删:delete() 方法

   

3)改:update() 方法

   

4)查:get() 方法

   

   

   

3、Session 对象 - 单线程对象

   

「Session 对象不能共用,只能自己使用」

   

   

   

   

   

(四)Transaction

   

   

1、事务对象

   

   

   

   

2、事务的提交和回滚

   

   

   

   

3、事务的四个特性

   

1)原子性

   

2)一致性

   

3)隔离性

   

4)持久性

   

   

   

   

   

   

   

   

   

   

   

【made by siwuxie095】

posted on 2017-08-03 22:18  siwuxie095  阅读(200)  评论(0编辑  收藏  举报

导航