Configuration configure = new Configuration().configure();
SessionFactory factory = configure.buildSessionFactory();
Session session = factory.openSession();
Transaction transaction = session.getTransaction();
transaction.begin();
session.save(user);
transaction.commit();
session.close();

一、Session接口

  常用方法:
  a.与数据库增删改查有关的方法
    get()  load()   OID查询方式
    save() update() delelte()  saveOrUpdae()
    createQuery()(HQL查询方式)
 createCriteria()

  b.与事务有关的方法

    getTransaction():当事务开启之后,通过session获取事务对象

    beginTransaction():开启事务

    rollback(): 事务回滚;commit():提交事务

  c.与缓存有关的方法:一级缓存:clear() evict() flush() refresh()

    d.close()方法
    session.close(); 关闭session

二、SessionFactory接口:SessionFactroy接口负责初始化Hibernate。

  Factory常用方法:

  a. openSession() :打开session

  b. getCurrentSession() :
获取当前线程session,当在主配置文件中已经将session绑定到当前线程,那么就可以在这里获取session

  c. close() :关闭工厂

三、Transaction接口:

  Transaction接口负责事务相关的操作,一般在Hibernate的增删改中出现,但是使用Hibernate的人一般使用Spring去管理事务。

四、Query接口:

  Query负责执行各种数据库查询。它可以使用HQL语言或SQL语句两种表达方式。它的返回值一般是List。需要自己转换。

五、Configuration接口:

  Configuration对象用于配置并根启动Hibernate。

  Hibernate应用通过Configuration实例来指定对象—关系映射文件的位置或者动态配置Hibernate的属性,然后创建SessionFactory实例。

  Configuration常用方法:

  a、configure(): 默认读取当前项目中的hibernate.cfg.xml的文件

   configure(参数):适用于在主配置文件不是hibernate.cfg.xml名称时

  b、getProperties(): 从cfg对象的properties集合中读取包括注配置文件中的key-value在内的所有的键值对

  c、addResource(): 作用类似于在主配置文件中的mapping的resource属性

  d、addClass(): 作用类似于在主配置文件中的mapping的class属性的功能,4.x和5.x有差异

  e、buildSessionFactory(): 创建工厂

hibernate核心类及常用方法的更多相关文章

  1. Hibernate核心类用法-使用Transaction管理事务

    一个典型的事务应该使用下面的形式 在创建完Session对象后即使用beginTransaction()启动事务 从此开始直到commit()之间的代码 都会处于同一个事务中 这两个函数之间所有的数据 ...

  2. Hibernate核心类和接口具体介绍

    一.hiobernate核心类和接口预览图 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveGxnZW4xNTczODc=/font/5a6L5L2T/fo ...

  3. hibernate核心接口,和扩展接口。回顾笔记,以前没记,现在补上,纯手工敲的。

    hibernate核心接口: 所有的hibernate应用都会访问hibernate的5个核心接口 1,Configuration接口 Configuration用于配置并且根启动Hibernate. ...

  4. Activiti源码分析(框架、核心类。。。)

    http://jiangwenfeng762.iteye.com/blog/1338553 Activiti是业界很流行的java工作流引擎,关于Activiti与JBPM5的关系和如何选择不是本文要 ...

  5. Hibernate详解(5)——Hibernate核心接口和工作原理

    Hibernate核心接口 Hibernate有五大核心接口,分别是:Session Transaction Query SessionFactoryConfiguration .这五个接口构成了Hi ...

  6. hibernate核心配置

    # hibernate核心配置 注意:  - hibernate.cfg.xml默认放在src目录下(这样可以自动加载该文件) - 必须配置的参数:   * 数据库的四大参数和方言  - 可选配置的参 ...

  7. 深入解析Hibernate核心接口

    Hibernate有很多值得学习的地方,这里我们主要介绍Hibernate核心接口,包括介绍SessionFactory接口.Query和Criteria接口等方面. Session 接口对于Hibe ...

  8. Hibernate核心接口和工作原理

    Hibernate核心接口和工作原理 Hibernate有五大核心接口,分别是:Session .Transaction .Query .SessionFactory .Configuration . ...

  9. hibernate工具类

    因为hibernate的代码大部分都是固定的,为了将减少重复的代码的书写,可以将这些代码封装为一个工具类,获取hibernate的session对象. 1.工具类: package pers.zhb. ...

随机推荐

  1. java基础-04泛型

    介绍 泛型就是数据类型的参数化表示,泛型的本质是参数化类型,常用E代表任何数据类型,在实际使用的时候把实际的数据类型传递给E. 泛型的好处是设计通用的功能,多个数据类型可以共用. 泛型类型E只能代表O ...

  2. 普通PC通过USB转485串口 ModBus-RTU通信协议控制伺服电机

    一.RS485通信 RS485 是半双工通信(2 线制),可以一点对多点进行组网,而且 RS485 是用缆线两端的电压差值来表示传递信号,这与 RS232 电气特性大不一样.RS485 仅仅规定了接收 ...

  3. iframe 高度自适应

    <iframe id="InputDetail" src style="width:100%"></iframe> <script ...

  4. 认识 WebService

     什么是服务? 1)现在的应用程序变得越来越复杂,甚至只靠单一的应用程序无法完成全部的工作.更别说只使用一种语言了. 2)大家在写应用程序查询数据库时,并没有考虑过为什么可以将查询结果返回给上层的应用 ...

  5. application.properties

    #MySQLspring.datasource.driver-class-name=com.mysql.jdbc.Driverspring.datasource.url=jdbc:mysql://lo ...

  6. BZOJ3527[Zjoi2014]力——FFT

    题目描述 给出n个数qi,给出Fj的定义如下: 令Ei=Fi/qi,求Ei. 输入 第一行一个整数n. 接下来n行每行输入一个数,第i行表示qi. n≤100000,0<qi<100000 ...

  7. [luogu1600]NOIp2016D1T2 天天爱跑步

    题目链接: luogu1600 谨以此题纪念那段年少无知但充满趣味的恬淡时光 附上一位dalao的博客链接:https://www.luogu.org/blog/user26242/ke-pa-di- ...

  8. HDU - 3247 Resource Archiver (AC自动机,状压dp)

    \(\quad\)Great! Your new software is almost finished! The only thing left to do is archiving all you ...

  9. 最大似然估计与期望最大化(EM)算法

    一.最大似然估计与最大后验概率 1.概率与统计 概率与统计是两个不同的概念. 概率是指:模型参数已知,X未知,p(x1) ... p(xn) 都是对应的xi的概率 统计是指:模型参数未知,X已知,根据 ...

  10. oracle not in 改为 not exist

    修改前 SELECT pageID, permissionID FROM tableA WHERE userID=#{userID} AND projectCode=#{projectCode} AN ...