Hibernate查询笔记.doc_第1页
Hibernate查询笔记.doc_第2页
Hibernate查询笔记.doc_第3页
Hibernate查询笔记.doc_第4页
Hibernate查询笔记.doc_第5页
免费预览已结束,剩余5页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Hibernate查询 -李孟锋(2008-10-29)*HQL查询*一:新建一个java普通项目:HibSelectDemo二:添加Hibernian支持:给项目导入Hibernate兼容:在项目上右键MyEclipseAdd Hibernate Capabilities:点击下一步(Next),填写数据源的id和选择数据库驱动:点击下一步(Next),勾选中Create SessionFactory class:三:DB Browser视窗打开数据库连接:四:在之前建好的User表上右键Hibernate Reverse Engineering(Hibernate反向工程):五:点击Browse,选择我们这个项目下的src包即可六:之后勾选Hibernate mapping文件,Java Data Object:点击下一步(Next),选择id生成器为identity:点击完成(Finish)。七:新建UserDAO.javapublic class UserDAO public List search() /查询所有Session session = HibernateSessionFactory.getSession();/ 获得session对象;String hql = from User;/ from:类似于SQL语句,User:实体类名,而不是数据库表名Query query = session.createQuery(hql);/ 执行hqlreturn query.list();/ 返回结果八:运行Mian.javapublic class Mian public static void main(String args) UserDAO userdao = new UserDAO();List list = userdao.search();Iterator it = list.iterator();while (it.hasNext() User user = (User) it.next();System.out.println(用户名: + user.getUserName();结果:九:属性查询:修改UserDAO.javapublic class UserDAO public List search() /属性查询Session session = HibernateSessionFactory.getSession();/ 获得session对象;String hql = select us.id,us.userName from User as us;Query query = session.createQuery(hql);/ 执行hqlreturn query.list();/ 返回结果十:运行Mian.javapublic class Mian public static void main(String args) UserDAO userdao = new UserDAO();List list = userdao.search();Iterator it = list.iterator();while (it.hasNext() /每条数据封装为一个Object数组Object arr = (Object ) it.next();/返回的是Object数组System.out.println(用户名: + arr1);结果:十一:参数查询:修改UserDAO.javapublic class UserDAO public List search() /参数查询Session session = HibernateSessionFactory.getSession();/ 获得session对象;String hql = select us.id,us.userName from User us where us.userName like ?;Query query = session.createQuery(hql);/ 执行hqlquery.setString(0, %lmf%);return query.list();/ 返回结果也可:“:参数名”方式public class UserDAO public List search() /参数查询Session session = HibernateSessionFactory.getSession();/ 获得session对象; String hql = select us from User us where us.userName like :name;Query query = session.createQuery(hql);/ 执行hqlquery.setString(name, %lmf%);return query.list();/ 返回结果十二:运行Mian.javapublic class Mian public static void main(String args) UserDAO userdao = new UserDAO();List list = userdao.search();Iterator it = list.iterator();while (it.hasNext() /每条数据封装为一个Object数组Object arr = (Object ) it.next();/返回的是Object数组System.out.println(用户名: + arr1);结果:十三:关联查询:Hql=select us from User us,Book bk where bk.us=us;十四:分页查询:修改UserDAO.javapublic class UserDAO public List search(int pageNo,int pageSize) /分页查询Session session = HibernateSessionFactory.getSession();/ 获得session对象;String hql = from User us order by us.id asc;Query query = session.createQuery(hql);/ 执行hqlint firstResultIndex=pageSize*(pageNo-1);query.setFirstResult(firstResultIndex);query.setMaxResults(pageSize);return query.list();/ 返回结果运行Mian.javapublic class Mian public static void main(String args) UserDAO userdao = new UserDAO();/得到每页5条数据时第2页数据List list = userdao.search(2,5);Iterator it = list.iterator();while (it.hasNext() User user = (User) it.next();System.out.println(用户名: + user.getUserName();结果:十五:统计函数:修改UserDAO.javapublic class UserDAO public Long search() /统计函数Session session = HibernateSessionFactory.getSession();/ 获得session对象;String hql = select count(us) from User us;Query query = session.createQuery(hql);/ 执行hql Long count= (Long) query.uniqueResult();return count;/ 返回结果运行Mian.javapublic class Mian public static void main(String args) UserDAO userdao = new UserDAO();userdao.search();System.out.println(数量: + userdao.search();结果:*Criteria查询*十六:修改UserDAO.javapublic class UserDAO public List search(User user) / Criteria查询Session session = HibernateSessionFactory.getSession();/ 获得session对象;Criteria c = session.createCriteria(User.class);if (user != null) if (user.getUserName() != null) c.add(Restrictions.like(userName, user.getUserName(),MatchMode.ANYWHERE);/c.add();/继续添加条件return c.list();/ 返回结果运行Mian.javapublic class Mian public static void main(String args) UserDAO userdao = new Use

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论