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. bzoj1601: [Usaco2008 Oct]灌水

    经典延伸最小生成树问题... #include<cstdio> #include<cstring> #include<cctype> #include<alg ...

  2. 为什么要CGI

    1.微软为什么使用CGI? 微软曾经在不同场合极力推荐它的ASP技术,以取代CGI标准,这对微软当然是有利的,但是对一个网站来说ASP是不是一个明智的选择呢?这是一个值得大家深思熟虑的问题. 因为一旦 ...

  3. [ASP.NET 技术点滴] Jquery 前端验证

    先上HTML代码: <form id="login" name="login" action="~/f_login/Login" me ...

  4. angularjs指令中的compile与link函数详解(转)

    http://www.jb51.net/article/58229.htm 通常大家在使用ng中的指令的时候,用的链接函数最多的是link属性,下面这篇文章将告诉大家complie,pre-link, ...

  5. memcachedd基础

    系列文章导航: memcached完全剖析–1. memcached的基础 memcached全面剖析–2. 理解memcached的内存存储 memcached全面剖析–3. memcached的删 ...

  6. eclipse集承jboss服务器

    eclipse Kepler + Jboss7.1 参考引用文档: http://www.tekdigest.com/how-to-install-jboss-tools-in-eclipse.htm ...

  7. System.arraycopy方法

    数组的复制有多种方法,其中有一种就是System.arraycopy方法,传闻速度也很快. 方法完整签名: public static void arraycopy(Object src, int s ...

  8. 【转】使用 Auto Layout 的典型痛点和技巧

    layoutIfNeeded()强制立刻更新布局 原文网址:http://www.jianshu.com/p/0f031606e5f2 官方文档:Auto Layout Guide 加上去年WWDC上 ...

  9. jQuery-对Radio/CheckBox的操作集合

    jQuery获取Radio选择的Value值 $("input[name='radio_name'][checked]").val(); //选择被选中Radio的Value值 $ ...

  10. strleng函数和filterHtml函数的据悉

    紧接着“CKEditor如何统计文字数量”,我想稍微说下,下面就filterHtml就是用来过滤全部html标签的. /** *过滤html标签 */ function filterHtml(s){ ...