HQL:

public boolean doCreate(Dept vo) throws Exception {
return this.sessionFactory.getCurrentSession().save(vo) != null;
} @Override
public boolean doUpdate(Dept vo) throws Exception {
String hql = "UPDATE Dept AS d SET d.title=? WHERE d.deptid=?";
Query query = this.sessionFactory.getCurrentSession().createQuery(hql);
query.setString(0, vo.getTitle());
query.setInteger(1, vo.getDeptid());
return query.executeUpdate() > 0;
} @Override
public boolean doRemove(Integer id) throws Exception {
String hql = "DELETE FROM Dept AS d WHERE d.deptid=?";
Query query = this.sessionFactory.getCurrentSession().createQuery(hql);
query.setInteger(0, id);
return query.executeUpdate() > 0;
} @Override
public Dept findById(Integer id) throws Exception {
return (Dept) this.sessionFactory.getCurrentSession().get(Dept.class,
id);
}
@SuppressWarnings("unchecked")
@Override
public List<TCatalogInfo> findAll() throws Exception {
String hql = "FROM TCatalogInfo AS tc";
Query query = this.sessionFactory.getCurrentSession().createQuery(hql);
return query.list();
}
@SuppressWarnings("unchecked")
@Override //分页
public List<TCatalogInfo> findAll(String column, String keyWord,
Integer currentPage, Integer lineSize) throws Exception {
String hql = "FROM TCatalogInfo AS tc WHERE tc." + column + " LIKE ?";
Query query = this.sessionFactory.getCurrentSession().createQuery(hql);
query.setString(0, "%" + keyWord + "%");//查询的关键字
query.setFirstResult((currentPage - 1) * lineSize);//开始页
query.setMaxResults(lineSize);//最大加载的页数
return query.list();
} @Override
public Integer getAllCount(String column, String keyWord) throws Exception {
String hql = "SELECT COUNT(tc.cid) FROM TCatalogInfo AS tc WHERE tc."
+ column + " LIKE ?";
Query query = this.sessionFactory.getCurrentSession().createQuery(hql);
query.setString(0, "%" + keyWord + "%");
return ((Long) query.uniqueResult()).intValue();
}

  

Criteria:

public List<Admin> findAll() throws Exception {
Criteria criteria = this.sessionFactory.getCurrentSession()
.createCriteria(Admin.class);
return criteria.list();
} @SuppressWarnings("unchecked")
@Override
public List<Admin> findAll(String column, String keyWord,
Integer currentPage, Integer lineSize) throws Exception {
Criteria criteria = this.sessionFactory.getCurrentSession()
.createCriteria(Admin.class);
criteria.add(Restrictions.like(column, "%" + keyWord + "%"));
criteria.setFirstResult((currentPage - 1) * lineSize);
criteria.setMaxResults(lineSize);
return criteria.list();
} @Override
public Integer getAllCount(String column, String keyWord) throws Exception {
Criteria criteria = this.sessionFactory.getCurrentSession()
.createCriteria(Admin.class);
ProjectionList plist = Projections.projectionList();
plist.add(Projections.rowCount(), "count");
criteria.setProjection(plist); // 增加统计函数集合
criteria.add(Restrictions.like(column, "%" + keyWord + "%"));
return ((Long) criteria.uniqueResult()).intValue();
}

  

HQL和Criteria的更多相关文章

  1. 【JAVAEE学习笔记】hibernate04:查询种类、HQL、Criteria、查询优化和练习为客户列表增加查询条件

    一.查询种类 1.oid查询-get 2.对象属性导航查询 3.HQL 4.Criteria 5.原生SQL 二.查询-HQL语法 //学习HQL语法 public class Demo { //基本 ...

  2. JAVAEE学习——hibernate04:查询种类、HQL、Criteria、查询优化和练习为客户列表增加查询条件

    一.查询种类 1.oid查询-get 2.对象属性导航查询 3.HQL 4.Criteria 5.原生SQL 二.查询-HQL语法 //学习HQL语法 public class Demo { //基本 ...

  3. hibernate HQL和Criteria

    package com.test; import java.util.Date; import java.util.List; import org.hibernate.Query; import o ...

  4. HQL和Criteria(转)

    HQL(Hibernate Query Language)        面向对象的查询语言,与SQL不同,HQL中的对象名是区分大小写的(除了JAVA类和属性其他部分不区分大小写):HQL中查的是对 ...

  5. 比较HQL、Criteria、Native-SQL这三者做查询的区别,以及应该如何进行选择?

    HQL功能很强大,适合各种情况,但是动态条件查询构造起来很不方便: Criteria 最适合动态查询,但不太适合统计查询,QBE还不够强大.只适合简单的查询: Native-SQL可以实现特定的数据库 ...

  6. Hibernate的四种查询方式(主键查询,HQL查询,Criteria查询,本地sql查询)和修改和添加

    Hibernate的添加,修改,查询(三种查询方式)的方法: 案例演示: 1:第一步,导包,老生常谈了都是,省略: 2:第二步,创建数据库和数据表,表结构如下所示: 3:第三步创建实体类User.ja ...

  7. grails的criteria和hql查询

    grails在查询方面也保留了hibernate的hql和criteria查询功能.hql自然不必多说基本不会有什么变化,grails的criteria查询在hibernate上面做了微调使用起来更加 ...

  8. Hibernate框架Criteria查询

    本文章适合一些初学者 一.使用Criteria查询数据        1.条件查询            1.1:使用Criteria查询的步骤                    1.使用Sess ...

  9. 2018.11.13 Hibernate 中数据库查询中的Criteria查询实例

    Criteria是面向对象的无语句查询 Demo.java package com.legend.b_criteria; import java.util.List; import org.hiber ...

随机推荐

  1. Codeforces Round #243 (Div. 2) C. Sereja and Swaps(优先队列 暴力)

    题目 题意:求任意连续序列的最大值,这个连续序列可以和其他的 值交换k次,求最大值 思路:暴力枚举所有的连续序列.没做对是因为 首先没有认真读题,没看清交换,然后,以为是dp或者贪心 用了一下贪心,各 ...

  2. 函数buf_LRU_old_adjust_len

    调整LUR_old位置,放到八分之五位置,是新的,后八分之三是旧的 512个页全变成新的,然后从后往前数,数到8分之3,设置为旧的 /********************************* ...

  3. HelloX操作系统网络功能简介及使用和开发指南

    HelloX网络功能简介及使用和开发指南 HelloX网络功能简介 作为物联网操作系统,网络功能是必备的核心功能之一.按照规划,HelloX实现了两个不同类型的TCP/IP协议栈,一个面向资源受限的嵌 ...

  4. MySQL基础之第9章 触发器

    触发器(TRIGGER)是由事件来触发某个操作.这些事件包括INSERT语句.UPDATE语句和DELETE语句.当数据库系统执行这些事件时,就会激活触发器执行相应的操作.MySQL从5.0.2版本开 ...

  5. C#+AE 用MapControl加载栅格格式文件

    需要引入DataSourceRaster命名空间. 具体步骤如下: ①:利用工作控件工厂抽象类定义接口变量,利用工作空间工厂的子类RatserWorkspaceFactory对应的组件类RasterW ...

  6. 1045 整数礼物 c语言

    描述 Na 给准备送给ZZ两个整数,a, b,他还计算了这两个整数的平均值c,碰巧c也是整数. 但是Na 突然把b给弄丢了,你要帮助Na通过a, c计算出来b的值. 输入 输入为一行,两个用空格隔开的 ...

  7. MyBatis 入门到精通(一) 了解MyBatis获取SqlSession

    MyBatis是什么? MyBatis是一款一流的支持自定义SQL.存储过程和高级映射的持久化框架.MyBatis几乎消除了所有的JDBC代码,也基本不需要手工去设置参数和获取检索结果.MyBatis ...

  8. window下版本控制工具Git 客户端安装

    安装使用 1.下载msysgit http://code.google.com/p/msysgit/ 2.下载tortoisegit客户端安装 http://code.google.com/p/tor ...

  9. SQL SERVER 实现分组合并实现列数据拼接

    需求场景: SQL SERVER 中组织的数据结构是一个层级关系,现在需要抓出每个组织节点以上的全部组织信息,数据示例如下: ADOrg_ID--------------ParentID------- ...

  10. HDU 5765 Bonds 巧妙状压暴力

    题意:给一个20个点无向连通图,求每条边被多少个极小割集包括 分析:极小割集是边的集合,很显然可以知道,极小割集恰好吧原图分成两部分(这个如果不明白可以用反证法) 然后就是奉上官方题解:http:// ...