本帖最后由 我是楠楠 于 2017-12-26 10:25 编辑
hibernate 核心APIConfigurationConfiguration : 封装Hibernate系统配置信息的对象 [AppleScript] 纯文本查看 复制代码
/**
* Configuration().configure(); ,默认读取classpath下hibernate.cfg.xml文件
* Configuration().configure(“配置文件名”); 不常用 /config/ hibernate.cfg.xml 加载
*/
Configuration conf = new Configuration().configure();
资源文件配置方式: [AppleScript] 纯文本查看 复制代码 <mapping resource="包名/UserModel.hbm.xml"/>
[AppleScript] 纯文本查看 复制代码 <mapping class="包名.UserModel"/>
2.使用hibernate.properties加载配置, 这种方法无法自动加载配置资源文件(现在几乎不用,老版本使用)
[AppleScript] 纯文本查看 复制代码 Configuration conf = new Configuration ();
资源文件添加方式:
[AppleScript] 纯文本查看 复制代码 conf. addResource(“XXX/UserModel.hbm.xml”);
自动读取类所在目录下同名配置文件UserModel.hbm.xml,配置文件命名要保持两个文件名一致 [AppleScript] 纯文本查看 复制代码 conf.addClass(UserModel.class);
SessionFactorySessionFactory对象根据Configuration对象加载的配置信息创建得到,其中封装了配置信息中有关数据库的信息、所有的映射关系及预定义SQL语句. [AppleScript] 纯文本查看 复制代码
Configuration conf = new Configuration().configure();
SessionFactory sf = conf.buildSessionFactory(); 由于SessionFactory对象的创建需要基于所有的配置信息,因此创建此对象需要消耗大量的资源,通常一个应用程序中只初始化一个SessionFactory对象
SessionSession对象是Hibernate与应用程序进行交互的桥梁,应用程序与Hibernate之间通过Session进行数据交互,其功能相当于JDBC中的Connection. [AppleScript] 纯文本查看 复制代码 Configuration conf = new Configuration().configure();
SessionFactory sf = conf.buildSessionFactory();
Session s = sf.openSession();
... 逻辑代码
s.colse();
Transaction[AppleScript] 纯文本查看 复制代码 Transaction t = s.beginTransaction();
[AppleScript] 纯文本查看 复制代码 t.commit();
[AppleScript] 纯文本查看 复制代码 t.rollback();
形如:
[AppleScript] 纯文本查看 复制代码 try {
t.commit();
} catch (Exception e) { // 抛异常则回滚
t.rollback();
} finally { // 关闭session
session.close();
}
传智播客·黑马程序员郑州校区地址 河南省郑州市 高新区长椿路11号大学科技园(西区)东门8号楼三层 联系电话 0371-56061160/61/62 来校路线 地铁一号线梧桐街站A口出
|