`

getHibernateTemplate().find方法详解

阅读更多

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= "http://www.cnblogs.com/gywbg/archive/2012/04/28/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= http://www.cnblogs.com/gywbg/archive/2012/04/28/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);

分享到:
评论

相关推荐

    hibernate模板类详解

    ### Hibernate 模板类详解 在Java开发领域中,Hibernate框架是进行对象关系映射(Object-Relational Mapping,简称ORM)的一种常用工具,它能够将面向对象模型的数据与关系型数据库之间的数据进行转换,从而简化了...

    getHibernateTemplate()使用方法

    ### getHibernateTemplate() 使用方法详解 #### 概述 在Java开发中,Hibernate是一个非常流行的持久层框架,它简化了数据库操作,使开发者能够更加高效地进行数据存取。Spring框架进一步封装了Hibernate,提供了`...

    getHibernateTemplate()查询

    ### getHibernateTemplate()查询详解 #### 一、`find(String queryString)` 此方法用于执行一个HQL查询,其中`queryString`参数表示一个HQL查询字符串。例如: ```java this.getHibernateTemplate().find("from ...

    Spring 和hibernate集成自学笔记

    ### Spring与Hibernate集成知识点详解 #### 一、Spring与Hibernate集成概述 在现代软件开发中,Spring框架以其强大的依赖注入(DI)和面向切面编程(AOP)能力成为Java领域最受欢迎的企业级应用开发框架之一。而...

    spring+hibernate详解

    ### Spring与Hibernate集成详解 #### 一、Spring与Hibernate集成概述 在现代Java企业级应用开发中,Spring框架因其强大的依赖注入(DI)和面向切面编程(AOP)功能而备受青睐,它能帮助开发者简化Java应用的开发...

    hibernateTemplate

    通过结合`find`方法使用,可以实现高效的分页查询功能。 ##### 3. 命名查询支持 `HibernateTemplate`还支持命名查询功能,这是一种预先定义好的查询方式,可以在Hibernate配置文件中预先定义好查询语句及其名称,...

    struts+spring+hibernate通用分页方法

    ### Struts+Spring+Hibernate通用分页方法详解 #### 一、引言 在Web应用开发中,分页是一项常用且重要的功能。特别是在处理大量数据时,合理的分页策略能够显著提升用户体验并减轻服务器压力。Struts+Spring+...

    多主键删除

    List list = this.getHibernateTemplate().find("from StGateR where stcd='" + stcd + "' and tm='" + tm + "' and exkey='" + exkey + "'"); StGateR st = (StGateR) list.get(0); this.getHibernateTemplate()...

    diplaytag的分页方案/教程

    ### DisplayTag 分页方案详解 #### 一、DisplayTag简介 DisplayTag是一个强大的JSP标签库,主要用于在JSP页面中处理表格数据。它能够帮助开发者轻松实现表格数据的分页、导出、分组以及排序等功能。对于提高Web...

    SSH实现分页查

    return getHibernateTemplate().find(hql).size(); } } ``` 3. **设计分页类**: 设计一个分页类`PageBean`用于封装分页相关的数据和逻辑。这个类包含了页面上展示的信息,如当前页数、总页数、是否为首页或...

    ssh2分页代码

    return ((Number)getHibernateTemplate().find(hql).size()).intValue(); } } ``` 在这个实现中,我们利用了Hibernate提供的 `executeFind` 方法来执行HQL查询,并通过设置 `setFirstResult` 和 `setMaxResults` ...

    Struts2+Spring3+Hibernate3整合文档

    - **使用HibernateDAOSupport类**:此类提供了对session、sessionFactory等对象的操作方法以及`getHibernateTemplate()`方法来获取`HibernateTemplate`实例。 - **使用HibernateTemplate类**:此类封装了一系列数据...

    struts2.0分页

    List list = this.getHibernateTemplate().find(sql); int totalRows = list.size(); int i = (pno - 1) * pageSize; if (totalRows - i &gt;= pageSize) { user = list.subList(i, i + pageSize); } else { ...

    Spring之ORM模块代码详解

    在`HibernateDaoSupport`的子类中,我们可以直接使用`getHibernateTemplate().find()`方法执行HQL查询。 5. **实体类和映射**:在ORM中,实体类通常对应数据库表,而实体类的属性对应表中的列。Spring的ORM模块支持...

    J-HI 手册 how to手册

    - **步骤二**: 定义HQL语句字符串,并通过`getHibernateTemplate().find(queryString)`执行查询。 - **步骤三**: 在`XXXDAO`接口中声明这个方法。 - **步骤四**: 在业务逻辑层`XXXManagerImpl`中调用`XXXDAO`的方法...

    Spring2 Hibernate3集成

    return getHibernateTemplate().find("from User"); } // ... } ``` 这个实现类继承自`HibernateDaoSupport`,利用Spring提供的`HibernateTemplate`简化了Hibernate的调用。`HibernateDaoSupport`内部封装了...

    spring struts2 hibernate 整合教程 详细入门

    return getHibernateTemplate().find(hql).size(); } } ``` 这里利用了Spring提供的`HibernateDaoSupport`类,通过`executeFind`方法执行查询操作。`setFirstResult`和`setMaxResults`方法用于设置分页参数。 ###...

    spring快速上手例子

    ### Spring MVC 快速上手知识点详解 #### 一、Spring框架概述 Spring是一个开源的轻量级Java应用开发框架,旨在简化企业级应用的开发。Spring提供了完整的开发解决方案,包括依赖注入(DI)、面向切面编程(AOP)、...

Global site tag (gtag.js) - Google Analytics