`

转:hibernate之template find方法使用

    博客分类:
 
阅读更多

转载链接:http://ks2144634.blog.163.com/blog/static/133585503201271471146167/

 

一、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);

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

 PS:此方法的参数对主键、外键无效。

 

 

五、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、如下使用查询:

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

分享到:
评论

相关推荐

    hibernate-jpa-2.1-api-1.0.2.Final-API文档-中英对照版.zip

    赠送jar包:hibernate-jpa-2.1-api-1.0.2.Final.jar;...使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心

    Hibernate的Template方法以及SQL简介

    Hibernate的Template方法以及SQL简介 Template方法18种以及SQL23种

    hibernate-jpa-2.1-api-1.0.2.Final-API文档-中文版.zip

    赠送jar包:hibernate-jpa-2.1-api-1.0.2.Final....使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。

    Hibernate4实战 之第五部分:Hibernate的事务和并发

    Hibernate4实战 之第五部分:Hibernate的事务和并发

    hibernate.5.1.0.jar全部

    包含hibernate所有所需jar包还有一些其他包日志包、jpa支持包等: 列如:hibernate-core-5.1.0.Final.jar hibernate-ehcache-5.1.0.Final.jar hibernate-entitymanager-5.1.0.Final.jar hibernate-envers-5.1.0....

    hibernate-validator 5.3.5.Final jar

    hibernate-validator 5.3.5.Final jar包 ;desc:if you want validator your project

    7:Hibernate查询缓存及实现.PPT

    7:Hibernate查询缓存Query Cache及实现

    curso-hibernate:Hibernate示例

    内容:hibernate001:通过 XML 配置的基本示例 hibernate002:通过注释配置的基本示例 hibernate003:会话方法练习 hibernate004:组件使用示例 hibernate005:单向关系映射示例 hibernate006:双向关系映射示例 ...

    hibernate jar包:hibernate-commons-annotations-4.0.1.Final.jar等

    Hibernate.jar包,Hibernate可以应用在任何使用JDBC的场合,包含 hibernate-commons-annotations-4.0.1.Final.jar hibernate-core-4.1.12.Final.jar hibernate-ehcache-4.1.12.Final.jar hibernate-entitymanager-...

    教程:Hibernate,Spring,HSQL,Eclipse和MavenTutorial: Hibernate, Spring, HSQL, Eclipse and Maven

    本书是使用Eclipse逐步介绍Hibernate,Spring,HSQL和Maven的指南,其中包含4个有关流行框架的教程。

    Hibernate使用指南

    * 使用 Hibernate:使用 Hibernate 来操作数据库,例如执行查询、插入、更新、删除等操作。 四、 Hibernate 的配置 Hibernate 的配置主要包括以下几个方面: * dialect:数据库方言,每个数据库有不同的数据库...

    Hibernate入门到精通

    要使用 Hibernate,首先需要搭建 Hibernate 的开发环境。下面是 Hibernate 环境搭建的主要步骤: 1. 映射配置文件 在 Hibernate 中,映射配置文件(hibernate.cfg.xml)是用于配置 Hibernate 的核心配置文件。该...

    hibernate-release-4.3.11.Final.lib.required.zip

    Hibernate是Java领域中一款著名的对象关系映射(ORM)框架,它允许开发者使用面向对象的方式来操作数据库,极大地简化了数据库编程。本压缩包"hibernate-release-4.3.11.Final.lib.required.zip"包含了Hibernate ...

    使用hibernate封装方法

    标题“使用Hibernate封装方法”暗示我们将讨论如何在项目中通过封装Hibernate操作,以提高代码的复用性和可读性。通常,我们会在DAO(数据访问对象)层进行这些封装,将数据库的CRUD(创建、读取、更新、删除)操作...

    hibernate-validator-6.0.8

    在本文中,我们将深入探讨Hibernate Validator 6.0.8的关键特性、使用方法以及它如何在实际项目中提升代码质量和用户体验。 一、Hibernate Validator概述 Hibernate Validator是Hibernate组织的一部分,它实现了...

    hibernate3必要jar包

    10. **性能优化**:Hibernate提供了批处理、延迟加载、缓存策略等方法来优化性能。 这个“hibernate3必要jar包”确保了这些关键组件的存在,使得开发者可以快速地搭建一个具备基本功能的Hibernate3环境,进行数据库...

    hibernate的jar包

    5. **Transaction管理**:Hibernate提供了事务管理功能,通过SessionFactory的openSession()方法创建Session,并通过Session的beginTransaction()、commit()和rollback()方法控制事务。 6. **Criteria查询**:除了...

    org.hibernate.HibernateException: No Hibernate Session bound to thread

    然而,在使用 Hibernate 进行数据库操作时,经常会遇到 "No Hibernate Session bound to thread" 的错误信息。本文将详细介绍该错误的解决方案。 错误原因 "No Hibernate Session bound to thread" 错误信息通常是...

    hibernate4.3.11所需jar包

    在Java应用中,尤其是在企业级应用开发中,Hibernate是必不可少的组件之一。标题提到的是"hibernate4.3.11所需jar包",这意味着我们将探讨的是Hibernate 4.3.11版本所依赖的一系列库文件。 1. **Hibernate Core**: ...

    hibernate_3.2官方开发包

    10. **Callback事件**:Hibernate允许在对象生命周期中的特定时刻(如加载、保存、更新和删除)注册回调方法,实现业务逻辑。 11. **Association Mapping关联映射**:Hibernate支持一对一、一对多、多对一、多对多...

Global site tag (gtag.js) - Google Analytics