1. 根据Where 参数 查询记录总数
  1. // 1.拼接SQL语句
  2. // 2.获取Session(hibernateTemplate.getSessionFactory().getCurrentSession()),调用CreateQuery获取Query
  3. // 3.调用query.uniqueResult()获取返回值
  1. @Override
  2. public int getPageSize(String orgName, String evaPeriodCode, String evaDate) {
  3. StringBuffer sql=new StringBuffer("select count(*) from EvaVirResult where 1=1 ");
  4. if(StringUtils.isNotEmpty(orgName)){
  5. sql.append(" and ORG_NAME ='").append(orgName).append("'");
  6. }
  7. if(StringUtils.isNotEmpty(evaPeriodCode)){
  8. sql.append(" and EVA_PERIOD_CODE ='").append(evaPeriodCode).append("'");
  9. }
  10. if(StringUtils.isNotEmpty(evaDate)){
  11. sql.append(" and EVA_DATE LIKE '%").append(evaDate).append("%'");
  12. }
  13. Query query=super.getCurrentSession().createQuery(sql.toString());
  14. Object total=query.uniqueResult();
  15. return !com.ciic.system.utils.string.StringUtils.isValid(total)?Integer.parseInt(total.toString()):0;
  16. }

-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --

  1. 分页查询符合条件的虚拟标杆
  1. // 1.hibernate查询对象
  2. // 2.添加分页条件
  1. @Override
  2. public List<EvaVirResult> getVirtualModels(String orgName, String evaPeriodCode, String evaDate, int start, int pageSize) {
  3. Criteria criteria = getCurrentSession().createCriteria(EvaVirResult.class);
  4. if(!StringUtils.isEmpty(orgName)) {
  5. criteria.add(Restrictions.eq("orgName", orgName));
  6. }
  7. if(!StringUtils.isEmpty(evaPeriodCode)){
  8. criteria.add(Restrictions.eq("evaPeriodCode",evaPeriodCode));
  9. }
  10. if(!StringUtils.isEmpty(evaDate)){
  11. criteria.add(Restrictions.like("evaDate","%"+evaDate+"%"));
  12. }
  13. criteria.setFirstResult(start*pageSize);
  14. criteria.setMaxResults(pageSize);
  15. return criteria.list();
  16. }

-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --

啦啦啦

啦啦啦

Hibernate -- Dao层 -- CURD -- 随记的更多相关文章

  1. sping整合hibernate之二:dao层开发

     在上一篇日志中将hibernate的会话工厂sessionFactory注入到了spring的容器中,但这样还不够,因为hibernate的增删改查是要使用事务机制的, 所以还要在spring中配置 ...

  2. hibernate+pageBean实现分页dao层功能代码

    今天闲来无事,摆弄了一下分页,突然发现很多代码长时间不用就生梳了,虽然有些基础,但没有一篇整合的.这里还是简单示例,主要是以后自己翻着看不用百度找啊找找不到一篇想要的 1.PageBean实体类,一页 ...

  3. SSH框架整合中Hibernate实现Dao层常用结构

    一.疑惑 一直以来,我在使用SSH框架的时候经常会发现后者有疑虑到底使用hibernate的那种方法或者如何配置hibernate来操作数据库,经过 一段时间的学习下面我来总结一下,常用的dao层配置 ...

  4. Hibernate -- 项目结构模型改造, 加 Utils 和 Dao层

    示例代码: App.java 模拟客户端 /** * 模拟客户端 */ public class App { @Test public void saveCustomer(){ CustomerDao ...

  5. SpringMVC + Hibernate + MySQL 的简易网页搭建(Dao层 实现篇)

    首先在搭建一个网站后台前,需要明确出一个合理的网页搭建的结构框架,即从DB  ==>  Dao层 ==>Service层 ==>Control层 ==>View层(该层严格意义 ...

  6. SSH 项目中 用Hibernate底层 简单的封装DAO层

    废话不多少了,主要是使用hibernate的查询方法,自己封装了DAO层,供service来方便使用. 首先:必须要继承的 public class CommonDao extends Hiberna ...

  7. Hibernate的Dao层通用设计

    hibernate作为一款优秀的数据库持久化框架,在现实的运用中是非常广泛的.它的出现让不熟悉sql语法的程序员能开发数据库连接层成为一种可能,但是理想与现实永远是有差距的.开发过程中如果只使用hql ...

  8. Java中Action层、Service层、Modle层和Dao层的功能区分

    一.Java中Action层.Service层.Modle层和Dao层的功能区分: 首先,这是现在最基本的分层方式,结合了SSH架构. modle层就是对应的数据库表的实体类.(即domain) Da ...

  9. SSH框架中POJO层, Dao层,Service层, Action层的功能理解

    pojo层就是对应的数据库表的实体类(如User类). dao层,一般可以再分为***dao接口和***daoImpl实现类,如userDao接口和userDaoImpl实现类,接口负责定义数据库cu ...

随机推荐

  1. Ansible修改自定义端口和登录用户

    如下所示: [servers] host1 ansible_ssh_host=192.0.2.1 ansible_ssh_port=5555 ansible_ssh_user="user&q ...

  2. 使用BFG移除git库中的大文件或污点提交

  3. Nginx静态文件路径配置

    root目录与alias目录的区别 Nginx路径location配置中,使用root目录与alias目录的区别 1)alias指定的目录是准确的,即location匹配访问的path目录下的文件直接 ...

  4. java 线程池 使用实例

    在前面的文章中,我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题: 如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统 ...

  5. python的匿名函数lambda解释及用法

    lambda函数的语法只包含一个语句,如下:    lambda arg1,arg2,.....argn:expression(主要是看下面的例子)代码示例: #-*- coding:utf-8 -* ...

  6. 微软BI 之SSIS 系列 - 在 SSIS 中将指定目录下的所有文件分类输出到不同文件夹

    开篇介绍 比如有这样的一个需求,旧的一个业务系统通常将产出的文件输出到同一个指定的目录下的不同子目录,输出的文件类型有 XML,EXCEL, TXT 这些不同后缀的文件.现在需要在 SSIS 中将它们 ...

  7. PL/SQL学习笔记之变量、常量、字面量、字符串

    一:变量 1:变量声明与初始化 variable_name datatype(约束) [:= | DEFAULT 初始值] 如: sales , ); name ); a ; greetings ) ...

  8. 基于Centos搭建 Firekylin 个人网站

    系统要求: CentOS 7.2 64 位操作系统 安装 Node.js 使用 yum 命令安装 Node.js curl --silent --location https://rpm.nodeso ...

  9. ASP.NET MVC多语言 仿微软网站效果(转)

    本文转自: https://blog.csdn.net/Cooldiok/article/details/7831351 2017年10月22日 21:31:22 Cooldiok 微软作为ASP.N ...

  10. 将csv的数据导入mysql

    手头有一份8MB的CSV文件需要分析,对于程序员来说,还有比在数据库里分析更愉快的事情吗? 所以让我们把CSV导入MYSQL吧. 一.首先按照文件列数创建相应的SQL表 例如: DROP TABLE ...