分析Java应用程序和Hibernate

开发 后端
这里介绍org.hibernate.Session是主要的运行时接口,它负责将Java应用程序和Hibernate连接起来。你可以使用它在数据库表中增加、获得、更新和删除XML数据。

Hibernate有很多值得学习的地方,这里我们主要介绍Java应用程序和Hibernate,包括介绍org.hibernate.Session是主要的运行时接口等方面。

Java应用程序将映射文件,用于数据持久化的属性文件集成到了一起。首先将Catalog.hbm.xml和hibernate.properties文件复制到同一个目录。并将这个目录加到CLASSPATH中。在Java应用程序中使用import导入org.hibernate包和dom4j包。

org.hibernate.Session是主要的运行时接口,它负责将Java应用程序和Hibernate连接起来。你可以使用它在数据库表中增加、获得、更新和删除XML数据。我们可以从一个SessionFactory中获得一个Session对象。这个 SessionFactory接口提供了openSession方法用来创建一个数据库连接以及打开一个连接会话。org.hibernate.cfg.Configuration类用来指定配置属性和创建一个SessionFactory的映射文件。下面的代码将创建一个配置对象:

  1. Configuration config=new Configuration(); 

下面的代码将映射文件catalog.hbm.xml加入到配置中:

  1. config.addFile("catalog.hbm.xml"); 

现在映射文件Catalog.hbm.xml以及JDBC属性文件在相同的目录,并且应用程序使用配置对象获得这此文件的信息。下面的代码将创建一个SessionFactory对象:

  1. SessionFactory sessionFactory=config.buildSessioFactory(); 

接下来,将向使用SchemaExport工具创建的数据表中加入数据,首先从SessionFactory对象中得到一个Session对象:

  1. Session sess =sessionFactory.openSession(); 

下面的代码将得一个Transaction对象,我们可以使用这个对象向数据表中加入数据:

  1. org.hibernate.Transaction tx = sess.beginTransaction(); 

使用DOM4J模式开始一个会话,第二个会话和***个主会话有同样的连接、事务和上下文属性:

  1. Session dom4jSession = session.getSession(EntityMode.DOM4J); 

下面将创建一个SAXReader对象用于分析描述数据表的XML文档。我们可以使用read(File)方法来分析catalog.xml文件,代码如下:

  1. SAXReader saxReader = new SAXReader();  
  2. Document document = saxReader.read(new File("c:/Hibernate/catalog.xml")); 

下面的代码将获得文档对象中catalog节点的列表,并且创建一个Iterator对象用于浏览列表中止数据:

  1. List list = document.selectNodes("//catalog");  
  2. Iterator iter = list.iterator(); 

Iterate可以枚举列表中的对象,并且从列表中获得相应的节点。我们可以使用save(String entityName,Object object)方法来将节点数据保存在数据库中。以上介绍Java应用程序和Hibernate。

【编辑推荐】

  1. 获取Hibernate关联关系的方法
  2. 详细讲述Hibernate绑定JNDI
  3. Hibernate Customer客户对象
  4. 讲述Hibernate Session缓存
  5. 简单分析Hibernate读取Clob
责任编辑:佚名 来源: 51CTO
相关推荐

2009-09-27 17:23:16

Hibernate应用

2012-09-10 10:31:31

IBMdw

2012-09-06 11:18:17

IBMdw

2009-09-24 17:21:17

加速Hibernate

2009-10-21 09:38:34

VB QuickSor

2010-06-12 16:59:45

UML设计

2024-10-16 08:23:15

大型语言模型LLM机器学习

2011-11-03 09:41:35

Android签名安全性

2022-01-27 09:57:55

远程代码漏洞

2011-03-17 15:01:14

一次性试用品应用程序忠实用户

2016-03-12 21:46:56

Inspeckage应用程序动态分析

2022-08-29 17:34:05

鸿蒙操作系统

2011-07-05 09:48:02

云计算迁移

2011-04-01 11:01:02

应用程序BlackBerryJava

2020-08-25 14:03:20

应用程序屏蔽应用程序内保护网络攻击

2012-06-07 09:15:14

ibmdw

2012-05-29 10:04:08

2015-01-06 09:59:59

云应用程序Java开发SQL

2020-09-08 11:30:39

Edge DevTooWebAPI

2009-08-14 17:57:43

ASP.NET MVC
点赞
收藏

51CTO技术栈公众号