Spring中常用的hql查询方法(getHibernateTemplate())

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

一、find(String queryString);

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

返回所有User对象

二、find(String queryString , Object value);

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

或模糊查询:this.getHibernateTemplate().find("from bean.User u where u.name like ?", "%test%");

返回name属性值为test的对象(模糊查询,返回name属性值包含test的对象)

三、find(String queryString, Object[] values);

示例:String hql= "from bean.User u where u.name=? and u.password=?"

this.getHibernateTemplate().find(hql, new String[]{"test", "123"});

返回用户名为test并且密码为123的所有User对象

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

四、findByExample(Object exampleEntity)

示例:

User u=new User();

u.setPassword("123");//必须 符合的条件但是这两个条件时并列的(象当于sql中的and)

u.setName("bb");

list=this.getHibernateTemplate().findByExample(u,start,max);

返回:用户名为bb密码为123的对象

五、findByExample(Object exampleEntity, int firstResult, int maxResults)

示例:

User u=new User();

u.setPassword("123");//必须 符合的条件但是这两个条件时并列的(象当于sql中的and)

u.setName("bb");

list=this.getHibernateTemplate().findByExample(u,start,max);

返回:满足用户名为bb密码为123,自start起共max个User对象。(对象从0开始计数)

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

六、findByNamedParam(String queryString , String paramName , Object value)

使用以下语句查询:

String queryString = "select count(*) from bean.User u where u.name=:myName";

String paramName= "myName";

String value= "xiyue";

this.getHibernateTemplate().findByNamedParam(queryString, paramName, value);

System.out.println(list.get(0));

返回name为xiyue的User对象的条数

七、findByNamedParam(String queryString , String[] paramName , Object[] value)

示例:

String queryString = "select count(*) from bean.User u where u.name=:myName and u.password=:myPassword";

String[] paramName= new String[]{"myName", "myPassword"};

String[] value= new String[]{"xiyue", "123"};

this.getHibernateTemplate().findByNamedParam(queryString, paramName, value);

返回用户名为xiyue密码为123的User对象

八、findByNamedQuery(String queryName)

示例:

1、首先需要在User.hbm.xml中定义命名查询

<hibernate-mapping>

<class>......</class>

<query name="queryAllUser"><!--此查询被调用的名字-->

<![CDATA[

from bean.User

]]>

</query>

</hibernate-mapping>

2、如下使用查询:

this.getHibernateTemplate().findByNamedQuery("queryAllUser");

九、findByNamedQuery(String queryName, Object value)

示例:

1、首先需要在User.hbm.xml中定义命名查询

<hibernate-mapping>

<class>......</class>

<query name="queryByName"><!--此查询被调用的名字-->

<![CDATA[

from bean.User u where u.name = ?

]]>

</query>

</hibernate-mapping>

2、如下使用查询:

this.getHibernateTemplate().findByNamedQuery("queryByName", "test");

十、findByNamedQuery(String queryName, Object[] value)

示例:

1、首先需要在User.hbm.xml中定义命名查询

<hibernate-mapping>

<class>......</class>

<query name="queryByNameAndPassword"><!--此查询被调用的名字-->

<![CDATA[

from bean.User u where u.name =? and u.password =?

]]>

</query>

</hibernate-mapping>

2、如下使用查询:

String[] values= new String[]{"test", "123"};

this.getHibernateTemplate().findByNamedQuery("queryByNameAndPassword" , values);

十一、findByNamedQueryAndNamedParam(String queryName, String paramName, Object value)

示例:

1、首先需要在User.hbm.xml中定义命名查询

<hibernate-mapping>

<class>......</class>

<query name="queryByName"><!--此查询被调用的名字-->

<![CDATA[

from bean.User u where u.name =:myName

]]>

</query>

</hibernate-mapping>

2、如下使用查询:

this.getHibernateTemplate().findByNamedQuery("queryByName" , "myName", "test");

十二、findByNamedQueryAndNamedParam(String queryName, String[] paramName, Object[] value)

示例:

1、首先需要在User.hbm.xml中定义命名查询

<hibernate-mapping>

<class>......</class>

<query name="queryByNameAndPassword"><!--此查询被调用的名字-->

<![CDATA[

from bean.User u where u.name =:myName and u.password=:myPassword

]]>

</query>

</hibernate-mapping>

2、如下使用查询:

String[] names= new String[]{"myName", "myPassword"};

String[] values= new String[]{"test", "123"};

this.getHibernateTemplate().findByNamedQuery("queryByNameAndPassword" , names, values);

十三、findByValueBean(String queryString , Object value);

示例:

1、定义一个ValueBean,属性名必须和HSQL语句中的:后面的变量名同名,此处必须至少有两个属性,分别为myName和myPassword,使用setter方法设置属性值后

ValueBean valueBean= new ValueBean();

valueBean.setMyName("test");

valueBean.setMyPasswrod("123");

2、

String queryString= "from bean.User u where u.name=:myName and u.password=:myPassword";

this.getHibernateTemplate().findByValueBean(queryString , valueBean);

十四、findByNamedQueryAndValueBean(String queryName , Object value);

示例:

1、首先需要在User.hbm.xml中定义命名查询

<hibernate-mapping>

<class>......</class>

<query name="queryByNameAndPassword"><!--此查询被调用的名字-->

<![CDATA[

from bean.User u where u.name =:myName and u.password=:myPassword

]]>

</query>

</hibernate-mapping>

2、定义一个ValueBean,属性名必须和User.hbm.xml命名查询语句中的:后面的变量名同名,此处必须至少有两个属性,分别为myName和myPassword,使用setter方法设置属性值后

ValueBean valueBean= new ValueBean();

valueBean.setMyName("test");

valueBean.setMyPasswrod("123");

3、

String queryString= "from bean.User u where u.name=:myName and u.password=:myPassword";

this.getHibernateTemplate().findByNamedQueryAndValueBean("queryByNameAndPassword", valueBean);

摘自 胖*

getHibernateTemplate().find方法详解的更多相关文章

  1. session的使用方法详解

    session的使用方法详解 Session是什么呢?简单来说就是服务器给客户端的一个编号.当一台WWW服务器运行时,可能有若干个用户浏览正在运正在这台服务器上的网站.当每个用户首次与这台WWW服务器 ...

  2. Kooboo CMS - Html.FrontHtml[Helper.cs] 各个方法详解

    下面罗列了方法详解,每一个方法一篇文章. Kooboo CMS - @Html.FrontHtml().HtmlTitle() 详解 Kooboo CMS - Html.FrontHtml.Posit ...

  3. HTTP请求方法详解

    HTTP请求方法详解 请求方法:指定了客户端想对指定的资源/服务器作何种操作 下面我们介绍HTTP/1.1中可用的请求方法: [GET:获取资源]     GET方法用来请求已被URI识别的资源.指定 ...

  4. ecshop后台增加|添加商店设置选项和使用方法详解

    有时候我们想在Ecshop后台做个设置.radio.checkbox 等等来控制页面的显示,看看Ecshop的设计,用到了shop_config这个商店设置功能 Ecshop后台增加|添加商店设置选项 ...

  5. (转)Spring JdbcTemplate 方法详解

    Spring JdbcTemplate方法详解 文章来源:http://blog.csdn.net/dyllove98/article/details/7772463 JdbcTemplate主要提供 ...

  6. C++调用JAVA方法详解

    C++调用JAVA方法详解          博客分类: 本文主要参考http://tech.ccidnet.com/art/1081/20050413/237901_1.html 上的文章. C++ ...

  7. windows.open()、close()方法详解

    windows.open()方法详解:         window.open(URL,name,features,replace)用于载入指定的URL到新的或已存在的窗口中,并返回代表新窗口的Win ...

  8. CURL使用方法详解

    php采集神器CURL使用方法详解 作者:佚名  更新时间:2016-10-21   对于做过数据采集的人来说,cURL一定不会陌生.虽然在PHP中有file_get_contents函数可以获取远程 ...

  9. JAVA 注解的几大作用及使用方法详解

    JAVA 注解的几大作用及使用方法详解 (2013-01-22 15:13:04) 转载▼ 标签: java 注解 杂谈 分类: Java java 注解,从名字上看是注释,解释.但功能却不仅仅是注释 ...

随机推荐

  1. Android新建项目手动添加Layout布局

    前言: 这是看<第一行代码>学习到的第一章,之前使用Eclipse创建Android项目都是自动生成MainActivity.java文件和layout文件夹下的activity_main ...

  2. 设置WebSphere字符集参数

    设置WebSphere字符集参数 1. 登陆was控制台 2. 依次点击服务器→服务器类型→应用服务器,显示应用程序服务器页面: 3. 选择并点击需要设置字符集的服务器,比如说本例中的server1  ...

  3. Managing TCP Connections in Dynamic Spectrum Access Based Wireless LANs

    2010年IEEE Secon的一篇文章.当然了,应该是之前就写好了,发表过,还是直接投到Secon了呢?直接投的吧,Secon不接受已发表过的吧. 本文的着笔点:有线网与DSAN(启用了DSA特性的 ...

  4. goldengate介绍

    Oracle Golden Gate软件是一种基于日志的结构化数据复制备份软件,它通过解析源数据库在线日志或归档日志获得数据的增量变化,再将这些变化应用到目标数据库,从而实现源数据库与目标数据库同步. ...

  5. 关于导入oracle10g的数据到sqlserver2005里的方案总结

    由于项目需求,现需要将oracle的数据全部导入到sqlserver中,一下算是自己的总结小计吧. sqlserver有自己的导入数据的功能,其中就有提供两种方式从oracle导入数据. 两种方式就不 ...

  6. 【转】ubuntu安装ftp服务器

    原文网址:https://wiki.archlinux.org/index.php/Very_Secure_FTP_Daemon_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96% ...

  7. nyoj 234 吃土豆

    描述 Bean-eating * grid. Now you want to eat the beans and collect the qualities, but everyone must ob ...

  8. YYmodel 郭耀源 底层分析

    http://www.tuicool.com/articles/meAzIny         YYModel 简介与使用 http://www.jianshu.com/p/663c7b608ff5 ...

  9. ASIFormDataRequest 上传图片

    - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typica ...

  10. C++ Primer笔记1_转义字符_标准库类型string_标准库类型vector

    1.转义字符 一般有两种方式: \x后紧跟1个或多个十六进制数字.或\后紧跟1.2.3个八进制数字,当中数字部分是字符相应的数值. #include <iostream> using na ...