Configuration类用来管理我们的配置文件的信息的,通过它,我们可以通过创建一个configuration实例来管理相应的配置文档,但是通常我们只创建一个configuration实例。
下面是一个通用的创建实例的代码
try{
sessionFactory = new Configuration().configure().buildSessionFactory();
}catch(HibernateException e){
throw new RuntimeException(e.getMessage,e);
} 在这里,我们看到:要创建一个Configuration,可以使用
Configuration config = new Configuration().configure(); 这里我们要明白的是,Configuration是入口,通过它来获得配置文件。 同时Configuration还可以通过指定参数来传递:
下面看:
File file = new File("c:\\Hibernate.xml");
Configuration config = new Configuration().config(file); 同时,Configuration还有一些比较重要的方法: addProperties();
setProperties();
下面看一下例子:
Properties properties = Porperties.load("a.properties");
Configuration configure = new Configuration().setProperties(properties).config();
同时还可以指定.hbm.xml文件,下面是几种方法:
addClass();
addFile();
addURL();
下面看一下例子:
Configuration configure = new Configuration().addClass(Order.class);
Configuration configure = new Configuration().addURL(Configuration.class.getResource(Order.hbm.xml));
Configuration configure = new Configuration().addFile("Order.hbm.xml"); 下面简单的看一下SessionFactory类 首先看一下代码
Configuration configure = new Configuration().configure();
SessionFactory sessions = configure.buildSessionFactory();
这里要说明的是,SessionFactory是线程安全的,可以被多个线程调用。在我们实际开发中,我们可以在初始化的部分构造一个SessionFactory即可,比如,在一个公共静态类中初始化一个SessionFactory的readonly常量等等。它充当数据存储源的代理。这里用到了工厂模式。需要注意的是SessionFactory并不是轻量级的,因为一般情况下,一个项目通常只需要一个SessionFactory就够,当需要操作多个数据库时,可以为每个数据库指定一个SessionFactory。
本文介绍了Configuration类的作用及其在创建SessionFactory实例中的应用。Configuration用于管理配置文件,并可通过多种方式指定配置来源。SessionFactory则作为线程安全的数据存储源代理,通常一个项目仅需创建一个实例。
9248

被折叠的 条评论
为什么被折叠?



