`
zfwdl2005
  • 浏览: 237561 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

HibernateTemplate 使用详解

    博客分类:
  • SSH
 
阅读更多
HibernateTemplate的使用
HibernateTemplate的使用
2009-08-23 12:48
         一、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);


分享到:
评论

相关推荐

    hibernateTemplate

    ### HibernateTemplate概述与核心功能详解 #### 一、引言 在Java开发领域,特别是企业级应用开发中,数据持久层的设计与实现至关重要。Hibernate作为一款优秀的对象关系映射(ORM)框架,极大地简化了Java应用程序...

    hibernateTemplate的常用方法

    ### hibernateTemplate的常用方法详解 #### 概述 `HibernateTemplate`是Spring框架中用于操作Hibernate的一个便捷工具类,它极大地简化了Hibernate在实际应用中的集成与开发工作。通过`HibernateTemplate`,开发者...

    HibernateTemplate类的使用

    ### HibernateTemplate类的使用详解 #### 一、引言 在Java开发中,持久层框架Hibernate因其优秀的ORM(Object-Relational Mapping)特性被广泛应用。为了更便捷地使用Hibernate,Spring框架提供了一系列工具类来简化...

    HibernateTemplate分组统计

    ### HibernateTemplate 分组统计知识点详解 #### 一、概述 在Java Web开发中,尤其是在使用Spring框架时,经常需要对数据库中的数据进行处理与分析。其中一项常见的需求就是对特定字段进行分组统计,比如按日期...

    hibernateTemplate批量删除数据

    在Hibernate框架中,`HibernateTemplate`提供了一种更为简洁、易于使用的API,用于执行基本的CRUD(创建、读取、更新、删除)操作。对于批量删除数据,`HibernateTemplate`提供了`bulkUpdate()`方法,该方法通过执行...

    hibernateDaoSurpport和hibernateTemplate

    ### HibernateDaoSupport与HibernateTemplate详解 #### 一、引言 在Java开发中,Spring框架与Hibernate框架的结合使用非常普遍。Spring框架以其强大的依赖注入(DI)和面向切面编程(AOP)功能,极大地简化了Java...

    spring配置文件详解

    然后是Hibernate模板的配置,我们使用Spring提供的HibernateTemplate来配置Hibernate模板。在这个配置中,我们需要指定Session工厂的引用。 其次是DAO对象的配置,我们使用自定义的DAO类来配置DAO对象。在这个配置...

    spring+hibernate详解

    本文详细介绍了Spring与Hibernate集成的过程,包括如何配置`SessionFactory`、使用`HibernateTemplate`简化数据操作、通过`HibernateDaoSupport`提高代码可维护性以及利用`HibernateCallback`实现更复杂的业务逻辑。...

    spring所有配置文件详解

    `applicationContext.xml`是Spring容器使用的主配置文件之一,用于定义Spring中的Bean以及它们之间的依赖关系。 #### 三、applicationContext.xml详解 **1. 文件结构** ```xml &lt;!-- 头文件,定义XML版本及编码 --...

    getHibernateTemplate分页-模糊查询

    3. **HibernateTemplate**: `HibernateTemplate`是Spring提供的一个类,它封装了Hibernate的Session操作,简化了Hibernate的使用,并提供了异常转换机制,使得开发人员可以更加专注于业务逻辑的编写而不是事务处理。...

    applicationContext.xml详解

    ApplicationContext.xml详解 ApplicationContext.xml是Spring框架中的核心配置文件,它是Spring的IOC(Inverse of Control,控制反转)容器的核心组件。该文件用于定义和配置Spring应用程序中的各种Bean,对于...

    《精通Spring 2.x-企业应用开发详解》chapter22.rar

    本章可能会讲解如何配置Hibernate SessionFactory,以及如何在Spring中使用HibernateTemplate或HibernateDaoSupport进行数据操作。 5. **Spring MVC**:作为Spring的Web应用模块,Spring MVC提供了模型-视图-控制器...

    Struts 2+Hibernate+Spring整合开发技术详解随书源码18

    然后,使用Spring的HibernateTemplate或JdbcTemplate进行数据访问。接着,将Struts 2与Spring结合,让Spring管理Struts 2的Action实例。最后,可能需要编写拦截器来处理如事务管理和安全性等问题。 5. **最佳实践**...

    Struts 2+Hibernate+Spring整合开发技术详解 12~17章

    - **Spring与Hibernate整合**:配置Spring的数据源、SessionFactory,使用Spring的HibernateTemplate或JPA实现数据访问。 - **整体架构**:理解三层架构(表现层、业务逻辑层、数据访问层)在整合后的组织方式,...

    整合struts+hibernate+spring应用开发详解 part3

    这部分可能详细介绍了如何通过Spring管理SessionFactory,如何在Service层使用HibernateTemplate进行数据操作,并处理事务。 3. **AOP(面向切面编程)**:Spring的AOP模块允许开发者定义方法拦截器和切面,常用于...

    Spring整合Hibernate 详解.doc

    使用HibernateTemplate,开发者可以避免直接操作Session,减少出错的可能性,同时保持事务管理的透明性。 6.5.4 使用HibernateCallBack HibernateCallBack接口允许开发者在Hibernate操作的前后插入自定义的逻辑。...

    Spring配置详解.docx

    &lt;bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate"&gt; &lt;constructor-arg&gt;&lt;ref local="sessionFactory" /&gt; ``` `HibernateTemplate`被注入了`sessionFactory`,以便它能...

Global site tag (gtag.js) - Google Analytics