扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:中国IT实验室 来源:中国IT实验室 2007年9月30日
关键字:
在本页阅读全文(共3页)
开始一个新事务,代码如下:
tx = session.beginTransaction(); |
下一步将使用Catalog中的数据来创建一个XML文档。首先,使用静态方法createDocument方法(在DocumentHelper类中)来创建一个Document对象。并将catalogs元素加到Document对象中,代码如下:
Document document = DocumentHelper.createDocument(); Element rootElement = document.addElement("catalogs"); |
创建一个Hibernate查询(HQL)用来查询表中的数据。HQL的语法类似SQL的语法。在HQL中并不要求Select子句。在From子句后面需要加实体名,而不是数据库表名,HQL的代码如下:
String hqlQuery ="FROM Catalog"; |
在写完HQL后,需要使用Session对象的createQuery(hqlQuery)方法创建一个查询对象,并通过list()方法得到相应的查询结果。代码如下:
List results = dom4jSession.createQuery(hqlQuery)。list(); |
下面的代码将枚举返回结果中所有的数据。每一行对应XML文档中的一个catalog节点。并将catalog加入到每一个文档对象的根元素中:
for (int i = 0; i < results.size(); i++) |
下面的代码使用XMLWriter对象将数据输出到XML文档对象中:
XMLWriter output = new XMLWriter(new FileWriter(new File("c:/catalog/catalog.xml"))); output.write(document); |
在这一节我们将使用Hibernate API删除一行记录。我们需要在catalog-delete.xml中指定要删除的行。首先创建一个Configuration对象,并将catalog.hbm.xml加入到Configuration对象中:
configuration config = new Configuration(); config.addFile("catalog.hbm.xml"); |
下面的代码将创建一个SessionFactory对象,并使用openSession方法打开一个会话:
sessionFactory sessionFactory = config.buildSessionFactory(); session = sessionFactory.openSession(); |
下面的代码将使用DOM4J模式创建一个Session对象。这个Session对象和DOM4J将拥有同样的连接、事务和上下文属性,代码如下:
Session dom4jSession = session.getSession(EntityMode.DOM4J); |
创建一个事务,代码如下:
tx = session.beginTransaction(); |
创建一个SAXReader对象用来分析XML文档:catalog-delete.xml,代码如下:
SAXReader saxReader = new SAXReader(); Document document = saxReader.read(xmlDocument); |
下面的代码将得到catalog节点对象,并创建一个Iterator对象(为了枚举这个节点的字节点),代码如下:
List list = document.selectNodes("//catalog"); Iterator iter = list.iterator(); |
下面的代码将枚举catalog中的所有数据,并将Catalog删除,代码如下:
while (iter.hasNext()) |
最后需要将Session保存,并关闭Session,代码如下:
session.flush(); tx.commit(); session.close(); |
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者