SSH与SSM学习之hibernate05——SessionFactory
来源:互联网 发布:阿里云负责人 编辑:程序博客网 时间:2024/06/06 14:20
- SSH与SSM学习之hibernate05SessionFactory
- 一SessionFactory说明
- 二两种获取方式
- 1 方式一
- 2 方式二
- 三例子
- 四数据库表结果
SSH与SSM学习之hibernate05——SessionFactory
一、SessionFactory说明
SessionFactory功能:
用于创建操作数据库核心对象session对象的工厂.
简单说功能就一个—创建session对象
注意:
1.sessionfactory 负责保存和使用所有配置信息.消耗内存资源非常大.
2.sessionFactory属于线程安全的对象设计.
结论: 保证在web项目中,只创建一个sessionFactory.
二、两种获取方式
2.1 方式一
//Configuration功能: 配置加载类.用于加载主配置,orm元数据加载//1 创建Configuration,调用空构造方法Configuration conf = new Configuration();//2 读取指定主配置文件 => 空参加载方法,加载src下的hibernate.cfg.xml文件conf.configure();//或者调用如下的方法,与上面是一样的//sconf.configure("hibernate.cfg.xml");//如果我们主配置文件是在com下面,那么应该是 conf.configure("com/hibernate.cfg.xml");//3 根据配置信息,创建 SessionFactory 对象SessionFactory factory = conf.buildSessionFactory();
2.2 方式二
// 但在5.1.0版本汇总,hibernate则采用如下新方式获取:// 1. 配置类型安全的准服务注册类,这是当前应用的单例对象,不作修改,所以声明为final// 在configure("hibernate.cfg.xml")方法中,如果不指定资源路径,默认在类路径下寻找名为hibernate.cfg.xml的文件final StandardServiceRegistry registry = new StandardServiceRegistryBuilder().configure("hibernate.cfg.xml").build();// 2. 根据服务注册类创建一个元数据资源集,同时构建元数据并生成应用一般唯一的的session工厂SessionFactory factory = new MetadataSources(registry).buildMetadata().buildSessionFactory();
三、例子
package com.qwm.hilbernate01;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.Transaction;import org.hibernate.boot.MetadataSources;import org.hibernate.boot.registry.StandardServiceRegistry;import org.hibernate.boot.registry.StandardServiceRegistryBuilder;import org.hibernate.cfg.Configuration;import org.junit.Test;/** * @author:qiwenming * @date:2017/9/16 0016 22:09 * @description: */public class ApiDemo2 {/*SessionFactory功能: 用于创建操作数据库核心对象session对象的工厂. 简单说功能就一个---创建session对象注意: 1.sessionfactory 负责保存和使用所有配置信息.消耗内存资源非常大. 2.sessionFactory属于线程安全的对象设计.结论: 保证在web项目中,只创建一个sessionFactory.*/ @Test public void sfApiDeme1(){ //Configuration功能: 配置加载类.用于加载主配置,orm元数据加载 //1 创建Configuration,调用空构造方法 Configuration conf = new Configuration(); //2 读取指定主配置文件 => 空参加载方法,加载src下的hibernate.cfg.xml文件 conf.configure(); //或者调用如下的方法,与上面是一样的 //sconf.configure("hibernate.cfg.xml"); //如果我们主配置文件是在com下面,那么应该是 conf.configure("com/hibernate.cfg.xml"); //3 根据配置信息,创建 SessionFactory 对象 SessionFactory factory = conf.buildSessionFactory(); //4 获取session Session session = factory.openSession(); //5 开启事务 Transaction t = session.beginTransaction(); User user = new User("mingge",12); //6 数据持久化 session.persist(user); //7 提交事务 t.commit(); //8 关闭session session.close(); } @Test public void sfApiDemo2(){ // 但在5.1.0版本汇总,hibernate则采用如下新方式获取: // 1. 配置类型安全的准服务注册类,这是当前应用的单例对象,不作修改,所以声明为final // 在configure("hibernate.cfg.xml")方法中,如果不指定资源路径,默认在类路径下寻找名为hibernate.cfg.xml的文件 final StandardServiceRegistry registry = new StandardServiceRegistryBuilder().configure("hibernate.cfg.xml").build(); // 2. 根据服务注册类创建一个元数据资源集,同时构建元数据并生成应用一般唯一的的session工厂 SessionFactory factory = new MetadataSources(registry).buildMetadata().buildSessionFactory(); //3 获取session Session session = factory.openSession(); //4 开启事务 Transaction t = session.beginTransaction(); User user = new User("yy",20); //5 数据持久化 session.persist(user); //6 提交事务 t.commit(); //7 关闭session session.close(); }}
四、数据库表结果
阅读全文
0 0
- SSH与SSM学习之hibernate05——SessionFactory
- SSH与SSM学习之hibernate04——Configuration
- SSH与SSM学习之hibernate06——Session
- SSH与SSM学习之hibernate07——Transaction
- SSH与SSM学习之hibernate13——HQL查询
- SSH与SSM学习之hibernate14——Criteria查询
- SSH与SSM学习之hibernate21——离线查询
- SSH与SSM学习之hibernate25——批量抓取
- SSH与SSM学习之Struts206——参数获取
- SSH与SSM学习之Struts211——拦截器
- SSH与SSM学习之Struts212——标签
- SSH与SSM学习之Spring15——cglib代理
- SSH与SSM学习之SSH整合01——SSH整合原理和导包
- SSH与SSM学习之SSH整合04——Struts2与Spring整合
- SSH与SSM学习之SSH整合06——Hibernate与Spring整合
- SSH与SSM学习之SSH整合02——单独配置Spring容器
- SSH与SSM学习之SSH整合03——单独配置Struts2
- SSH与SSM学习之SSH整合05——单独配置Hibernate
- 线程池
- windows通过teamviewer连接centos7
- 快速排序算法
- JAVA获取小程序的OpenId的实例详解上图
- CSAPP-Attack-Lab
- SSH与SSM学习之hibernate05——SessionFactory
- <c:if test="value ne, eq, lt, gt,...."> 用法
- 数组与矩阵---未排序数组中累加和为给定值的最长子数组系列问题
- Num.4 分治算法
- Improving Deep Neural Networks学习笔记(一)
- 事务、数据库事务、事务隔离级别、锁的简单总结
- char 与 unsigned char
- 新手起家之梦想飞航
- 十大算法