`
zfwdl2005
  • 浏览: 232292 次
  • 性别: 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);


分享到:
评论

相关推荐

    applicationContext.xml详解

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

    Spring整合Hibernate 详解.doc

    6.5 Spring整合Hibernate ...6.5.3 使用HibernateTemplate 6.5.4 使用HibernateCallBack 6.5.6 使用IoC容器组装各种组件 6.5.7启动web容器读取xml配置文件 6.5.8了解继承自HibernateDaoSupport类DAO

    Spring 整合 Hibernate 时启用二级缓存实例详解

    本例的查询使用了 HibernateTemplate; 1. 导入 ehcache-x.x.x.jar 包; 2. 在 applicationContext.xml 文件中找到 sessionFactory 相应的配置信息并在设置 hibernateProperties 中添加如下代码: &lt;!-- 配置...

    spring 理解文件HibernateDaoSupport

    .相同点:在applicationConext.xml中 配置datasource--&gt;sessionfacrtory from dataSource---&gt;HibernateTransactionManager(impl)--&gt;... UserDaoHiberateImpl: 在impl中要调用的方法要hibernateTemplate.save(user);

    Spring.3.x企业应用开发实战(完整版).part2

    12.2.2 使用HibernateTemplate 12.2.3 处理LOB类型数据 12.2.4 添加Hibernate事件监听器 12.2.5 使用原生Hibernate API 12.2.6 使用注解配置 12.2.7 事务处理 12.2.8 延迟加载的问题 12.3 在Spring中使用myBatis ...

    Spring3.x企业应用开发实战(完整版) part1

    12.2.2 使用HibernateTemplate 12.2.3 处理LOB类型数据 12.2.4 添加Hibernate事件监听器 12.2.5 使用原生Hibernate API 12.2.6 使用注解配置 12.2.7 事务处理 12.2.8 延迟加载的问题 12.3 在Spring中使用myBatis ...

    spring.doc

    3 Spring基本功能详解 8 3.1 SpringIOC 8 3.2别名Alias 11 别名拓展: 11 3.3 Spring容器内部对象的创建 12 Spring容器内部对象创建拓展: 12 3.3.1使用类构造器实例化(默认无参数) 14 3.3.2使用静态工厂方法实例化...

    Spring API

    3.3.2. 依赖配置详解 3.3.3. 使用depends-on 3.3.4. 延迟初始化bean 3.3.5. 自动装配(autowire)协作者 3.3.6. 依赖检查 3.3.7. 方法注入 3.4. Bean的作用域 3.4.1. Singleton作用域 3.4.2. Prototype作用...

    Spring中文帮助文档

    12.2.3. The HibernateTemplate 12.2.4. 不使用回调的基于Spring的DAO实现 12.2.5. 基于Hibernate3的原生API实现DAO 12.2.6. 编程式的事务划分 12.2.7. 声明式的事务划分 12.2.8. 事务管理策略 12.2.9. 容器...

    Spring 2.0 开发参考手册

    3.3.3. bean属性及构造器参数详解 3.3.4. 使用depends-on 3.3.5. 延迟初始化bean 3.3.6. 自动装配(autowire)协作者 3.3.7. 依赖检查 3.3.8. 方法注入 3.4. bean的作用域 3.4.1. Singleton作用域 3.4.2. ...

    spring chm文档

    3.3.3. bean属性及构造器参数详解 3.3.4. 使用depends-on 3.3.5. 延迟初始化bean 3.3.6. 自动装配(autowire)协作者 3.3.7. 依赖检查 3.3.8. 方法注入 3.4. bean的作用域 3.4.1. Singleton作用域 3.4.2. ...

    Spring-Reference_zh_CN(Spring中文参考手册)

    3.3.3. bean属性及构造器参数详解 3.3.3.1. 直接量(基本类型、Strings类型等。) 3.3.3.2. 引用其它的bean(协作者) 3.3.3.3. 内部bean 3.3.3.4. 集合 3.3.3.5. Nulls 3.3.3.6. XML-based configuration metadata ...

    Java Web程序设计教程

    14.2.4使用hibernatetemplate 281 14.2.5管理hibernate事务 282 14.3项目实战——学生成绩查询系统 283 本章小结 292 课后练习 293 第15章图书馆管理系统 294 15.1系统功能解析 294 15.2系统数据库设计 295 ...

Global site tag (gtag.js) - Google Analytics