博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hibernate动态hql查询,分页查询,调用方法即可查询
阅读量:4137 次
发布时间:2019-05-25

本文共 2029 字,大约阅读时间需要 6 分钟。

package com.starry.dao;import java.util.List;import org.hibernate.Session;import com.starry.entity.Emp;import com.starry.query.QueryParameter;public class EmpDao {	/**	 * 按条件查询	 * 传进来一个自定义的对象  里面有(例如:定义最大值,最小值 ,名字等,可以放在sql中使用)	 * */	public List
query(QueryParameter qp){ Session session = HibernateSessionFactory.getSession(); StringBuffer sb=new StringBuffer(); //这个from里面的Emp不是数据库里面emp表,是你定义的实体类里面的Emp,注意大小写 //写个where 语句 ,在下面if没有执行的情况下也不会报错 sb.append("from Emp where 1=1 "); //判断你传进来的qp对象中的ename有参数没有,有的话就放到下面的sql语句中 //传进来的qp.getEname 相当于放到语句中的 (:ename)的值 if(qp.getEname()!=null){ sb.append("and ename like :ename "); } if(qp.getDeptno()!=null){ sb.append("and deptno = :deptno "); } if(qp.getMinempno()!=null){ sb.append("and empno >= :minempno "); } if(qp.getMaxempno()!=null){ sb.append("and empno <= :maxempno "); } if(qp.getMinsal()!=null){ sb.append("and sal >= :minsal "); } if(qp.getMaxsal()!=null){ sb.append("and sal <= :maxsal "); } return session.createQuery(sb.toString()) .setProperties(qp)//将命名参数与一个对象的属性值绑定在一起! .list(); } /** * 根据某个条件查询单条数据 * 问了区分清楚 我写了一个B 一个C * */ public List
selOne(Byte c){ Session session =HibernateSessionFactory.getSession(); return (List
)session.createQuery("select ename,sal from Emp where deptno=:b") .setParameter("b", c) .list(); } /** * 查询总条数 * 返回值需要时long类型,要不在调用方法的时候会报错,类型不匹配 * */ public Long getcount(){ Session session =HibernateSessionFactory.getSession(); return (Long)session.createQuery("select count(e) from Emp e") .uniqueResult();//当确定返回的实例只有一个或者null时 用uniqueResult()方法 } /** * 分页查询 * 传进来一个页码和每页显示的条数 * */ public List
selPage(int page,int maxResults){ Session session = HibernateSessionFactory.getSession(); int firstResult=(page-1)*maxResults;//每页显示的开始位置,相当于(页码-1)*每页条数 return session.createQuery("from Emp") .setFirstResult(firstResult)//设置开始的位置 .setMaxResults(maxResults)//设置每页显示多少条数据 .list();//返回多个值使用list方法生成一个list集合 }}

转载地址:http://spxvi.baihongyu.com/

你可能感兴趣的文章
vue 项目中图片选择路径位置static 或 assets区别
查看>>
vue项目打包后无法运行报错空白页面
查看>>
Vue 解决部署到服务器后或者build之后Element UI图标不显示问题(404错误)
查看>>
element-ui全局自定义主题
查看>>
facebook库runtime.js
查看>>
vue2.* 中 使用socket.io
查看>>
openlayers安装引用
查看>>
js报错显示subString/subStr is not a function
查看>>
高德地图js API实现鼠标悬浮于点标记时弹出信息窗体显示详情,点击点标记放大地图操作
查看>>
初始化VUE项目报错
查看>>
vue项目使用安装sass
查看>>
HTTP和HttpServletRequest 要点
查看>>
在osg场景中使用GLSL语言——一个例子
查看>>
laravel 修改api返回默认的异常处理
查看>>
laravel事务
查看>>
【JavaScript 教程】浏览器—History 对象
查看>>
还不会正则表达式?看这篇!
查看>>
100道+ JavaScript 面试题,助你查漏补缺
查看>>
JavaScript深入理解之闭包
查看>>
这才是学习Vite2的正确姿势!
查看>>