程序源码:

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import pers.zhb.domain.Student;
class HinernateTest{
    public static void testAdd()  {
        //(1)加载hibernate核心配置文件
        //src目录下的配置文件名称是固定的:hibernate.cfg.xml
        Configuration configuration= new Configuration();
        configuration.configure();
        //(2)读取hibernate核心配置文件的内容,创建sessionFactory对象,根据映射关系创建相应的表
        SessionFactory sessionFactory=configuration.buildSessionFactory();
        //(3)利用sessionFactory对象创建session对象
        //类似于创建连接
        Session session=sessionFactory.openSession();
        //(4)开启事务
        Transaction transaction=session.beginTransaction();
        //(5)具体操作
        Student student=new Student();
        student.setSname("zzzz");
        student.setSex("男");
        student.setBirthday("2019-11-11");
        student.setClassno("201911");
        student.setPoint(111);
        student.setPhone("1873496511");
        student.setEmail("20171514@qq.com");
        session.save(student);
        //(6)提交事务
        transaction.commit();
        //(7)关闭资源
        session.close();
        sessionFactory.close();
    }
    public static  void main(String []args){
        HinernateTest hinernateTest=new HinernateTest();
        hinernateTest.testAdd();
    }
}

1、configuration对象:

 Configuration configuration= new Configuration();
 configuration.configure();

创建时调用空参构造方法,加载src目录下的hibernate.cfg.xml文件。

2、sessionFactory对象(用于创建操作数据库的session对象的工厂):

SessionFactory sessionFactory=configuration.buildSessionFactory();

根据配置信息,创建sessionFactory对象。

特点:

(1)负责保存和使用所有配置信息,消耗的内存资源比较大。

(2)线程安全。

根据sessionFactory对象的特点,应该尽量只创建一个sessionFactory对象。

3、session对象:

        Session session=sessionFactory.openSession();

类似于JDBC中的创建连接。

4、transaction对象:

 Transaction transaction=session.beginTransaction();

开启事务并获得操作事务的transaction对象。

5、提交事务:

transaction.commit();

6、回滚事务:

transaction.rollback();

7、释放资源:

session.close();
sessionFactory.close();

hibernate的API的更多相关文章

  1. Hibernate5笔记3--详解Hibernate的API

    详解Hibernate的API: (1)Configuration接口: org.hibernate.cfg.Configuration接口的作用是加载主配置文件及映射文件,以实现对Hibernate ...

  2. Java程序员从笨鸟到菜鸟之(五十二)细谈Hibernate(三)Hibernate常用API详解及源码分析--csdn 曹胜欢

    新接触一个框架的目的就是想利用这个框架来为我们做一些工作,或者是让他来简化我们的工作,利用这个框架无非就是要利用这个框架所给我们提供的API去操作我们的数据,所以利用一个框架的好坏很大一部分取决于你对 ...

  3. java:Hibernate框架1(环境搭建,Hibernate.cfg.xml中属性含义,Hibernate常用API对象,HibernteUitl,对象生命周期图,数据对象的三种状态,增删查改)

    1.环境搭建: 三个准备+7个步骤 准备1:新建项目并添加hibernate依赖的jar文件  准备2:在classpath下(src目录下)新建hibernate的配置文件:hibernate.cf ...

  4. hibernate常用API详解

    根据个人使用Hibernate的经验,介绍一下Hibernate的多种不同的查询和CUD操作,这些东西在日常开发中非常常用,希望对大家有所帮助. 以下示例均以两张表为例:member和userinfo ...

  5. 简单了解Hibernate核心API

    一.SessionFactory 1.它代表的是数据库的连接,其实就是在hibernate.cfg.xml文件中的配置信息 2.可以预定义SQL语句 3.SessionFactory是线程安全的,它维 ...

  6. Hibernate基础学习(二)—Hibernate相关API介绍

    一.Hibernate的核心接口      所有的Hibernate应用中都会访问Hibernate的5个核心接口.      (1)Configuration接口: 配置Hibernate,启动Hi ...

  7. Hibernate的Api以及三种查询方式

    Hibernate  Api |-- Configuration       配置管理类对象 config.configure();    加载主配置文件的方法(hibernate.cfg.xml) ...

  8. ( 转)Hibernate常用API

    http://blog.csdn.net/yerenyuan_pku/article/details/65103203 可在度娘上摘抄如下文字: Hibernate的核心类和接口一共有6个,分别为:S ...

  9. Hibernate常用api以及增删改查

    一   .API的定义 所谓的API全称就是(Application Programming Interface,应用程序编程接口).就是类库对外提供的接口.类.枚举.注解等元素. 如:JDK API ...

  10. Use Hibernate core API

    For Hibernate configuration, We can use hibernate.cfg.xml file to configure: <?xml version='1.0' ...

随机推荐

  1. Spring-Cloud之Ribbon负载均衡-3

    一.负载均衡是指将负载分摊到多个执行单元上,常见的负载均衡有两种方式.一种是独立进程单元,通过负载均衡策略,将请求转发到不同的执行单元上,例如 Ngnix .另一种是将负载均衡逻辑以代码的形式封装到服 ...

  2. map小列

    // 有关学生信息的头文件student.h代码如下 #include #include using namespace std; struct Student                    ...

  3. 编辑表格输入内容、根据input输入框输入数字动态生成表格行数、编辑表格内容提交传给后台数据处理

    编辑表格输入内容.根据input输入框输入数字动态生成表格行数.编辑表格内容提交传给后台数据处理 记录自己学习做的东西,写的小demo,希望对大家也有帮助! 代码如下: <!DOCTYPE ht ...

  4. ORACLE SQL 笔记

    根据数据权限查询 SELECT * FROM ( SELECT ROWNUM AS ROWNO, AA.* FROM ( SELECT DISTINCT A.OBJECTID InstanceID , ...

  5. Audio Queue Services Programming Guide(音频队列服务编程指南)

    Audio Queue Services 的苹果官方文档: https://developer.apple.com/library/ios/documentation/MusicAudio/Conce ...

  6. 解决window tomcat 8.5 启动控制台输出为乱码

    解决办法 1.打开你安装Tomcat的所在目录. 2. 打开后选择conf目录. . 3. 将里面的logging.properties文件用编辑器打开,本例子是使用“Notepad++”编辑器打开. ...

  7. 查看zookeeper版本

    命令 echo stat|nc localhost 2181 zookeeper@kafka-zookeeper-0:/$ echo stat|nc localhost 2181 Zookeeper ...

  8. H3C 802.11 MAC层工作原理

  9. 什么影响了mysql的性能-硬件资源及系统方面优化

    随着数据量的增大,数据库的性能问题也是个值得关注的问题,很多公司对mysql性能方面没有太过重视,导致服务浪费过多资源.mysql服务性能差从而直接影响用户体验,这里我们简单的先来聊聊什么影响了mys ...

  10. 持久化JS存储

    <script src="../../lib/persist-min.js"></script> //测试一下本地化存储器 var store = new ...