package cn.hibernate;

import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration; /**
* 创建一个工厂类 用于创建SessionFactory唯一的一个
*/
public class SessionFactoryUtils {
private static SessionFactory sessionFactory;
// 在静态的代码块中创建这个对象
static {
// 1:创建Configuration对象,用于读取hibernate.cfg.xml文件
Configuration config = new Configuration();
// 默认读取hibernte.cfg.xml
config.configure();
// 2:创建SessionFactory对象
sessionFactory = config.buildSessionFactory();
}
//3:提供一个静态的方法-返回SessionFactory的实例
public static SessionFactory getSessionFatory(){
return sessionFactory;
}
} 步4:测试是否连接数据库成功 – 获取 Connection对象
@Test
public void test1() {
// 1:获取 SessionFactory
SessionFactory sf = SessionFactoryUtils.getSessionFatory();
// 打开一个新的连接会话
Session session = sf.openSession();//
// 通过doWork获取一个COnnection,则所有在execute里面执行的方法都被Session控制
session.doWork(new Work() {
@Override
public void execute(Connection connection) throws SQLException {
System.err.println("连接是:" + connection);
}
});
session.close();
}

package cn.hibernate;

import
org.hibernate.SessionFactory;

import
org.hibernate.cfg.Configuration;

/**

* 创建一个工厂类用于创建SessionFactory唯一的一个

*/

publicclass SessionFactoryUtils {

privatestatic SessionFactory sessionFactory;

// 在静态的代码块中创建这个对象

static {

// 1:创建Configuration对象,用于读取hibernate.cfg.xml文件

Configuration config = new Configuration();

// 默认读取hibernte.cfg.xml

config.configure();

// 2:创建SessionFactory对象

sessionFactory = config.buildSessionFactory();

}

//3:提供一个静态的方法-返回SessionFactory的实例

publicstatic SessionFactory getSessionFatory(){

returnsessionFactory;

}

}

步4:测试是否连接数据库成功 – 获取 Connection对象

@Test

publicvoid test1() {

// 1:获取 SessionFactory

SessionFactory sf = SessionFactoryUtils.getSessionFatory();

// 打开一个新的连接会话

Session session = sf.openSession();//

// 通过doWork获取一个COnnection,则所有在execute里面执行的方法都被Session控制

session.doWork(new Work() {

@Override

publicvoid execute(Connection connection) throws SQLException {

System.err.println("连接是:" + connection);

}

});

session.close();

}

hibernate 创建工厂类的更多相关文章

  1. Hibernate之工具类HibernateUtil

    原创文章,转载请注明:Hibernate之工具类HibernateUtil  By Lucio.Yang 1.最简单的工具类,实现SessionFactory的单例共享,session的管理 pack ...

  2. spring 的工厂类

    spring 的工厂类 1. 工厂类 BeanFactory 和 ApplicationContext 的区别. ApplicationContext 是 BeanFactory 的子接口,提供了比父 ...

  3. Hibernate api 之常见的类(配置类,会话工厂类,会话类)

    1:Configuration :配置管理类对象 1.1:config.configure(): 加载主配置文件的方法(hibernate.cfg.xml) ,默认加载src/hibernate.cf ...

  4. Swift游戏实战-跑酷熊猫 06 创建平台类以及平台工厂类

    这节内容我们一起学习下随机长度的踩踏平台的原理是怎么样的. 要点: 平台类 我们的平台类继承于SKNode,这样就能被添加进其它节点进而显示在场景中. 它有一个方法来创建平台,这个方法接收一个包含SK ...

  5. 使用DAO工厂创建实现类对象

    首先分析DAO模式中的每一部分 VO(对象实体):这个类成员变量与数据库中每个字段一一对应,同时提供了相应是set和get方法来设置或取得数值.这个类一般是通过IDE自动生成的 DAO(数据访问接口) ...

  6. 创建在类路径资源[applicationcontext]中定义名为“工厂”的bean时出错。:在设置bean属性“dataSource”时,无法解析对bean“dataSource”的引用;嵌套异常是org.springframe .beans.factory。BeanCreationException:创建名为“数据源”的bean时出错,该名称是在类路径资源[applicationcontext

    控制台报错: 创建在类路径资源[applicationcontext]中定义名为“工厂”的bean时出错.:在设置bean属性“dataSource”时,无法解析对bean“dataSource”的引 ...

  7. 通过myEclipse创建hibernate的实体类

    今天有个新项目中需要使用到hibernate,刚好数据库表已经创建完毕,就顺便来总结一下通过myEclipse创建hibernate的实体类. 1..在myEclipse中选择MyEclipse Da ...

  8. Hibernate初探之单表映射——创建持久化类

    编写第一个Hibernate例子 第二步:创建持久化类(持久化类的设计原则要遵循javabeans的设计原则) javabeans的设计原则: 1.公有的类2.提供公有的不带参数的默认的构造方法3.属 ...

  9. 工厂类,配置文件,静态方法,反射构成编译器解耦;ioc的一个概念 ;通过xml创建容器里面存储对象

    工厂类,配置文件,静态,反射方法构成编译器解耦;ioc的一个概念

随机推荐

  1. python string.md

    string 包含用于处理文本的常量和类.string模块始于Python的最早版本. 2.0版本中, 许多之前只在模块中实现的函数被转移为string对象的方法. 之后的版本中, 虽然这些函数仍然可 ...

  2. python第四十三课——封装性

    1.面向对象的三大特性:封装性.继承性.多态性 封装: 封装使用的领悟: 1).生活层面:食品.快递.计算机.明星... 2).计算机层面: ①.模块.类.函数... ②.属性数据的封装与隐藏 权限修 ...

  3. 函数式编程的终极形式:面向映射流的编程pipeline

    1.单体(数据)映射:基本操作:数据的单次映射: 2.管道流:数据的流程化处理 基础是monand类型,形式是声明式编程: Pipeline模型: 它以一种“链式模型”来串接不同的程序或者不同的组件, ...

  4. Algorithms: 二叉平衡树(AVL)

    二叉平衡树(AVL):   这个数据结构我在三月份学数据结构结构的时候遇到过.但当时没调通.也就没写下来.前几天要用的时候给调好了!详细AVL是什么,我就不介绍了,维基百科都有.  后面两月又要忙了. ...

  5. 【转】 [置顶] Android 通知栏Notification的整合 全面学习 (一个DEMO让你完全了解它)

    在Android的应用层中,涉及到很多应用框架,例如:Service框架,Activity管理机制,Broadcast机制,对话框框架,标题栏框架,状态栏框架,通知机制,ActionBar框架等等. ...

  6. Redis未授权漏洞利用方式

    总结一下redis未授权拿shell: redis-cli -h ip >info 查看系统类型 Windows: 1.找网站绝对路径 2.config set dir 绝对路径根路径 conf ...

  7. java.lang.NoSuchMethodError: No static method getFont

    最近在Android Studio升级3.0后,在AlertDialog弹窗时报出了如下问题: java.lang.NoSuchMethodError: No static method getFon ...

  8. OpenCV——ORB特征检测与匹配

    原文链接:https://mp.weixin.qq.com/s/S4b1OGjRWX1kktefyHAo8A #include <opencv2/opencv.hpp> #include ...

  9. jmeter测试webservice接口

    webservice怎样使用jmeter测试呢? 测试样例url=http://www.webxml.com.cn/WebServices/IpAddressSearchWebService.asmx ...

  10. 为什么重写equals还要重写hashcode??

    equals和hashcode是object类下一个重要的方法,而object类是所有类的父类,所以所有的类都有这两个方法 equals和hashcode间的关系: 1.如果两个对象相同(即equal ...