程序源码:

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 Boot

    原 精通Spring Boot—— 第二十一篇:Spring Social OAuth 登录简介 1.什么是OAuth OAuth官网介绍是这样的: An open protocol to allow ...

  2. httpd服务的配置及应用

    一.httpd服务的配置文件 httpd服务的主配置文件通常为httpd根目录下的conf/httpd.conf文件,通过yum安装的httpd服务的主配置路径通常如下: httpd-2.2:/etc ...

  3. MyBatis和spring整合简单实现

    spring和MyBatis整合: 导入spring和MyBatis的整合jar包,以及其依赖jar包: 导入MyBatis和spring的整合jar包. spring的核心jar包. 定义Mybat ...

  4. JVM性能优化--字节码技术

    一.字节码技术应用场景 AOP技术.Lombok去除重复代码插件.动态修改class文件等 二.字节技术优势 Java字节码增强指的是在Java字节码生成之后,对其进行修改,增强其功能,这种方式相当于 ...

  5. Java之路---Day06

    2019-10-20-23:13:52 目录内容: 1.Scanner类 2.匿名对象 3.Random类 4.对象数组 Scanner类 功能:实现键盘输入数据到程序中 使用步骤: 1.导包: im ...

  6. linux限定用户或组对磁盘空间的使用

    实验环境 环境:centos7.3 ,一块磁盘sdb分一个分区sdb1. 安装磁盘配额支持软件 yum install quota 制作文件系统,并以支持配额功能的方式挂载文件系统 mkfs.ext4 ...

  7. 将windows共享文件夹挂载到Linux

    今天想用docker部署下 .net core的 服务,需要把代码文件从windows传到linux,以前一直都是拖拽的,这次安装的系统没有图形界面, 所以到网上找到了下面的这种方法,将共享文件夹挂载 ...

  8. 英语DYAMAUND钻石DYAMAUND单词

    dyamaund and the English words dyamaund The Vertu of the Dyamaund": Gemstones, Knowledge and Va ...

  9. WPF弹出进度条

    环境:vs2015 ,.net 4.6 源码地址:https://pan.baidu.com/s/1FoujUMst1luomPf0ZfCLUQ 提取码:trzj 说明: 1.进度条是在winFrom ...

  10. java-Java实现mysql事务处理操作

    数据库事务(简称:事务)是数据库管理系统执行过程中的一个逻辑单位,由一个有限的数据库操作序列构成. 并非任意的对数据库的操作序列都是数据库事务.数据库事务拥有以下四个特性,习惯上被称之为ACID特性. ...