1. find(String hql);  //普通查询

示例:this.gethibernateTemplate().find("from User");

2. find(String hql,Object value);//一个查询条件

示例:this.gethibernateTemplate().find("from User u where u.name=?","test");

3. find(String hql,Object[] values);// 多个查询条件

示例:this.gethibernateTemplate().find("from User u where u.name=? and u.pwd=?",new String[]{"test","123"});

4. findByExample(Object exampleEntity,int firstResult, int maxResults)//分页使用

示例:

User user= new User(); u.setActive("Active");

List list=this.getHibernateTemplate().findByExample(user,firstResult,maxResults);

查询结果:状态为Active的用户(对象从0到20 计数)

5. findByNamedParam(String hql,String paramName,Object value); //一个查询条件

示例:

hql="from User u where u.name=:parName ";

paramName= "parName";

value="bb"

List list = this.getHibernateTemplate.findByNamedParam(hql,paramName,value);

查询结果:姓名为bb的用户

6. findByNamedParam(String queryString , String[] paramName , Object[] value) //多个查询条件

示例:

hql="from User u where u.name=:myname and u.pwd =:mypwd ";

String[] paramName= new String[]{"myname","mypwd"};

Sring[] value=new Strign[]{"bb","123"};

List list = this.getHibernateTemplate.findByNamedParam(hql,paramName,value);

查询结果:姓名为bb密码为123的用户

7.分页HQL示例

public List excuteHqlPage(final String hqlStr, final int startRow,final int rowCount) throws DaoException {

List<Object[]> list;

try {

list = getHibernateTemplate().executeFind(new HibernateCallback() {

public Object doInHibernate(Session session)

throws HibernateException, SQLException {

org.hibernate.Query query = (org.hibernate.Query) session.createQuery(hqlStr);

query.setFirstResult(startRow);// 定义从第几条开始查询

query.setMaxResults(rowCount);// 定义返回的记录数

List list = query.list();

return list;

}

});

} catch (Exception e) {

throw new DaoException(DaoException.ERRORCODE_EXCUTEHQL);

}

return list;

}

8. 根据HQL/SQL 查询

public List queryByHql(final String hql, final Object[] prams,final String sql) {

return (List)  getHibernateTemplate().execute(new HibernateCallback(){

public Object doInHibernate(Session session)

throws HibernateException, SQLException {

if(hql!=null && hql.length()>0){

Query query=session.createQuery(hql);

if(prams!=null && prams.length>0){

for(int i=0;i<prams.length;i++){

query.setParameter(i,prams[i]);

}

}

return query.list();

}else{

SQLQuery sqlquery=session.createSQLQuery(sql);

return sqlquery.list();

}

}

});

}

9. 保存/更新

public String saveOrUpdateObject(ISuperVO vo) throws DaoException {

try {

String id = null;

if (StringUtil.isEmpty(vo.getPid())) {

getHibernateTemplate().save(vo);

} else {

getHibernateTemplate().merge(vo);

}

id = vo.getPid();

return id;

} catch (Exception e) {

e.printStackTrace();

}

}

10. getHibernateTemplate().delete(vo);  //删除

11. 根据条件删除

public Integer deleteObjectsByWherePart(final Class voClass,final String wherePart, final Object[] parmaters)throws DaoException {

try {

Integer count = (Integer) getHibernateTemplate().execute( new HibernateCallback() {

public Object doInHibernate(Session session)throws HibernateException, SQLException {

Integer coun = null;

String hql = "delete from " + voClass.getName()+ " where 1=1 ";

if (wherePart != null && wherePart.trim().length() > 0) {

hql = hql + " and " + wherePart;

}

Query query = session.createQuery(hql);

Object obj = null;

if (parmaters != null && parmaters.length > 0) {

for (int i = 0; i < parmaters.length; i++) {

obj = parmaters[i];

query.setParameter(i, obj);

}

}

coun = query.executeUpdate();

return coun;

}

});

return count;

} catch (Exception e) {

e.printStackTrace();

}

}

hql Hibernate.gethibernatetemplate()的更多相关文章

  1. paip.取当天记录的方法sql跟hql hibernate

    paip.取当天记录的方法sql跟hql hibernate #------两个方法...函数法和日期计算法.. 函数法: DATEDIFF(d,createTime,GETDATE())=0   / ...

  2. HQL: Hibernate查询语言

    HQL: Hibernate查询语言 Hibernate配备了一种非常强大的查询语言,这种语言看上去很像SQL.但是不要被语法结构 上的相似所迷惑,HQL是非常有意识的被设计为完全面向对象的查询,它可 ...

  3. hql(Hibernate Query Language)

    1.Criteria查询对查询条件进行了面向对象封装,符合编程人员的思维方式,不过HQL(Hibernate Query Language)查询提供了更加丰富的和灵活的查询特性,因此Hibernate ...

  4. 类型:。net;问题:HQL;结果:HQL: Hibernate查询语言

    HQL: Hibernate查询语言 Hibernate配备了一种非常强大的查询语言,这种语言看上去很像SQL.但是不要被语法结构 上的相似所迷惑,HQL是非常有意识的被设计为完全面向对象的查询,它可 ...

  5. Hibernate查询(HQL——Hibernate Query Language)

    HQL查询 HQL提供了是十分强大的功能,它是针对持久化对象,用取得对象,而不进行update,delete和insert等操作.而且HQL是面向对象的,具备继承,多态和关联等特性. from子句: ...

  6. 常用HQL(Hibernate Query Language)查询

    查询一个对象(实体类必须有一个不带参数的构造方法) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 @Test public void test01() ...

  7. Hibernate之HQL查询的一些例子

    Hibernate配备了一种非常强大的查询语言,就是HQL(hibernate query language),HQL看上去很像sql,但只是语法结构上相似,HQL是一种面向对象的查询,他可以理解继承 ...

  8. SSH整合报错:org.hibernate.hql.internal.ast.QuerySyntaxException: User is not mapped[......]

    非常诡异的报错,信息如下:org.hibernate.hql.internal.ast.QuerySyntaxException: User is not mapped [select count(* ...

  9. Hibernate学习-Hibernate查询语言HQL

    HQL(Hibernate Query Language)Hibernate查询语言,语法类似于SQL,可以直接使用实体类及属性. 使用HQL 可以避免使用JDBC 查询的一些弊端 不需要再编写繁复的 ...

随机推荐

  1. 用nodejs的express框架在本机快速搭建一台服务器

    [本文出自天外归云的博客园] 简介 用express框架在本机搭建一个服务器,这样大家可以通过指定的url来在你的服务器上运行相应的功能. Express是一个基于nodejs的框架,我们可以用它来完 ...

  2. 7. 集成学习(Ensemble Learning)Stacking

    1. 集成学习(Ensemble Learning)原理 2. 集成学习(Ensemble Learning)Bagging 3. 集成学习(Ensemble Learning)随机森林(Random ...

  3. php 裁剪图片类

    <?php /* *说明:函数功能是把一个图像裁剪为任意大小的图像,图像不变形 * 参数说明:输入 需要处理图片的 文件名,生成新图片的保存文件名,生成新图片的宽,生成新图片的高 * writt ...

  4. 词袋模型bow和词向量模型word2vec

    在自然语言处理和文本分析的问题中,词袋(Bag of Words, BOW)和词向量(Word Embedding)是两种最常用的模型.更准确地说,词向量只能表征单个词,如果要表示文本,需要做一些额外 ...

  5. 使用xcode 7 开发cocos2dx问题

    使用xcode 7 开发cocos2dx问题 近期在学习cocos2dx使用xcode 7 bate 最为开发工具,由于xcode 7 能够不用增加开发人员就能真机測试啦,哈哈.可是当我创建好coco ...

  6. <[完整版]中国式价值投资>读书笔记

    注重本金安全 股票价格的高级与股票的贵贱没有任何关系 同股同权的应该买便宜的 买未来有可能变得更大的优秀公司股票,只有他们的股价才有可能有持续向上的原动力 如果绝大多数投资者对股票高市盈率不是拒绝而是 ...

  7. grep和rgrep和fgrep

    Linux环境下. (1)grep对标签元字符的表示. [berry@berry:practice] grep 'w\(es\).*\1' text northwest NW Charles Main ...

  8. 简单的Http请求数据保存到Hdfs

    使用okhttp工具集来开发:(如果文件已经存在会报错) package com.etl; import java.io.IOException; import org.apache.commons. ...

  9. JVM垃圾回收算法(最全)

    JVM垃圾回收算法(最全) 下面是JVM虚拟机运行时的内存模型: 1.方法区 Perm(永久代.非堆) 2.虚拟机栈 3.本地方法栈 (Native方法) 4.堆 5.程序计数器 1 首先的问题是:j ...

  10. Pass的通用指令开关

    LOD: 设置:单个设置Shader.maximumLOD.全局设置Shader.globalMaximumLOD.QualitySettings里面的Maximum LODLevel 原理:小于指定 ...