免费预览已结束,剩余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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/Z 271-2026安全与韧性业务连续性管理体系制定业务连续性计划和程序的指南
- T/ZKJXX 00030-2022水下侧扫声呐探测仪规范
- T/JGE 0060-2025江西绿色生态 小龙虾
- T/CNCA 100-2024煤炭企业绿色矿山标准体系建设指南
- T/CAV 007-2024 T/CAS 903-2024预防用疫苗临床试验现场选用指南
- T/CSMT YB024-2026机载被动腔气溶胶光谱仪校准方法
- GB/T 592-2026船用法兰铸铁止回阀
- 2025~2026学年广东省深圳市福田区北师大版六年级上册11月份月考数学试卷【附答案】
- 2026学年黑龙江省双城市六年级数学期末深度自测培优拓展题详细参考解析详细答案和解析
- PHP中级面试题及详细答案(企业真实版)
- 福建泉州德化县2026年专职网格员招聘考试试卷-含答案解析
- 2027届高三语文上学期全国各地名校9月模考病句修改汇编(含答案)
- 四川成都简阳市2026年四级城乡社区工作者招聘考试试卷-含答案解析
- 2026年科研院所成果转化岗竞聘笔试真题附带答案
- FDE模式行业观察与实践
- JBT 14445-2025 TYP系列变频调速三相永磁同步电动机技术规范及能效分级(机座号80~355)标准立项发展报告
- (正式版)T∕CSNAME 153-2025 沿海内河船舶智能航行感知系统设计要求
- 四川省2026年高职单招文化考试(中职类)语文试卷+答案
- T∕AOPA 0082-2025 无人驾驶航空器系统遥控站适航技术规范
- 2026河北邯郸市劳动就业服务局招聘公益性岗位人员笔试备考试题及答案解析
- APQC跨行业流程分类框架 (8.0 版)( 中文版-2026年4月)
评论
0/150
提交评论