分析Java应用程序和Hibernate
创始人
2024-06-08 05:01:29
0

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

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...