文档详情

Hibernate用法:查询 更新 删除!.pdf

发布:2017-05-26约1.31万字共12页下载文档
文本预览下载声明
Hibernate 用法:查询,更新,删除! 本文介绍了基本数据查询(使用一种类似SQL 的HQL来设定查询的条件)以及更 新和删除数据,给出了程序源代码和运行中需要注意的事项以及结果代码,供网 友参考!Hibernate对于数据的更新、删除等动作,是依赖id值来判定,如果 您已知id值,则可以使用load()方法来加载资料。 一、基本数据查询 使用Hibernate进行数据查询是一件简单的事,Java程序设计人员可以使用对 象操作的方式来进行数据查询,查询时使用一种类似SQL 的HQL (Hibernate Query Language)来设定查询的条件,与SQL不同的是,HQL是具备对象导向的 继承、多型等特性的语言。 直接使用范例来看看如何使用Hibernate进行数据库查询,在这之前,请先照之 前介绍过的主题在数据库中新增几笔数据: 查询数据时,我们所使用的是Session 的find()方法,并在当中指定HQL设定 查询条件,查询的结果会装载在List对象中传回,您所需要的是将它们一一取 出,一个最简单的例子如下: HibernateTest.java import onlyfun.caterpillar.*; import net.sf.hibernate.*; import net.sf.hibernate.cfg.*; import java.util.*; public class HibernateTest { public static void main (String [] args) throws HibernateException { SessionFactory sessionFactory new Configuration ().configure ().buildSessionFactory (); Session session sessionFactory.openSession (); List users session.find (from User); session.close (); sessionFactory.close (); for (ListIterator iterator users.listIterator (); iterator.hasNext (); ) { User user (User) iterator.next (); System .out.println (user.getName () + \n\tAge: + user.getAge () + \n\tSex: + user.getSex ()); } } } find()中的“fromUser”即HQL,User指的是User类别,藉由映射文件,它将 会查询USER表格中的数据,相当于SQL 中的SELECT * FROM USER,实际上我们 的User类别是位于onlyfun.caterpillar下,Hibernate会自动看看import中 的package名称与类别名称是否符合,您也可以直接指定package名称,例如: session.find (from onlyfun.caterpillar.User); 这个程序的运行结果可能是这样的: log4j:WARN No appenders could be found for logger (net.sf.hibernate.cfg.Environment). log4j:WARN Please initialize the log4j system properly. Hibernate: select user0_ .user_id as user_id, user0_ .name as name, user0_ .sex as sex, user0_ .age as age from USER user0_ caterpillar Age: 28 Sex: M momor Age: 25 Sex: F
显示全部
相似文档