`
pipe
  • 浏览: 206679 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

getHibernateTemplate()的简单使用

SQL 
阅读更多
前提条件:你的类必须继承HibernateDaoSupport
一:
回调函数:
public List getList(){
		return (List ) getHibernateTemplate().execute(
				new HibernateCallback() {
					public List doInHibernate(final Session s)
							throws HibernateException, SQLException {

StringBuffer sb = new StringBuffer();
Query query = s.createSQLQuery(sb.toString());//[b]执行普通sql[/b]
Query query = s.createQuery(sb.toString());//	[b]执行hql [/b]
List list = query.list();
return list ;
					}
				});			
	}

采用这种做法的好处是:不用关心事务。session的创建和销毁,一切都在程序内部完成。看看名字doInHibernate就知道好处了。不好的是程序看起来比较乱!个人认为。
二:
 getHibernateTemplate().find():
List list = getHibernateTemplate().find(String sql ):


这种的前提是sql必须是hql ,原始sql 不能执行。

三:
自己获取session处理。
获取session的两种方式:this.getSession();和this.getHibernateTemplate().getSessionFactory().openSession();
获取session以后再createQuery操作就一样了。但是这种做法,是需要自己去手动关闭session的。所以你需要配置openSessioninview,个人认为不推荐使用!

其他:
getHibernateTemplate.delete(Object);

getHibernateTemplate.save(Object);
getHibernateTemplate.update(Object);

总结:推荐使用回调函数。

分享到:
评论
1 楼 yvonxiao 2008-11-20  
学习中,谢谢分享

相关推荐

    getHibernateTemplate()使用方法

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

    getHibernateTemplate()有模糊查询和 分页

    `getHibernateTemplate()`是Spring框架与Hibernate集成时提供的一个便捷方法,它封装了对Hibernate Session的操作,使得在Service或DAO层进行数据库交互变得更加简单。 在给定的标题和描述中,提到的是`...

    getHibernateTemplate()查询

    以上介绍了通过`getHibernateTemplate()`方法执行查询的不同方式,包括简单的HQL查询、带有参数的查询、模糊查询以及基于实例对象的查询等。这些方法在实际开发中非常实用,可以帮助开发者更灵活地处理各种查询需求...

    hibernate模板类详解

    这条代码会执行一个简单的HQL查询,即“从User表中选择所有记录”,并返回一个包含所有用户对象的列表。 #### 二、find(String queryString, Object value) 此方法同样是执行HQL查询语句,但允许传递一个参数值。...

    SSH2增删改查使用HibernateTemplate

    简单的按主键查询可以这样实现: ```java public User getUserById(Long userId) { return hibernateTemplate.get(User.class, userId); } ``` 对于更复杂的查询,可以使用HQL或Criteria API: ```java List...

    hibernate API

    `HibernateTemplate`是Spring框架对Hibernate的一种封装,提供了一种更简单的API来执行常见的Hibernate操作,比如获取对象、执行HQL查询等。 1. 使用`HibernateTemplate`获取ID为1的对象: ```java SellerAppInfo...

    Spring中hql语句的常用方法

    - 在这个例子中,从第0条记录开始获取最多10条记录,即实现了简单的分页功能。 #### 三、使用命名参数的查询 在实际开发中,使用命名参数可以提高代码的可读性和可维护性。 1. **findByNamedParam(String ...

    hibernateDaoSurpport和hibernateTemplate

    - **复杂性**:直接使用`HibernateTemplate`会稍微简单一些,因为不需要额外的继承结构;而使用`HibernateDaoSupport`则需要继承抽象类,增加了代码的复杂度。 #### 五、示例代码 为了更好地理解`...

    hql语言中的一些常用的方法

    - **单参数查询**:当查询条件只有一个时,可以使用带有单个参数的方法,例如:`this.getHibernateTemplate().find("from bean.User u where u.name=?", "test")`,这将返回所有名字为“test”的用户。 - **多参数...

    HibernateTemplate 的常规用法.doc

    例如,以下是一个简单的`PersonDAOImpl`类的示例: ```java public class PersonDAOImpl implements PersonDAO { private static Log log = LogFactory.getLog(PersonDAOHibernate.class); private ...

    hibernate执行原生sql语句

    例如,我们可以使用以下代码来执行一个简单的 SQL 查询: ```java Session session = HibernateSessionFactory.getCurrentSession(); SQLQuery query = session.createSQLQuery("select * from cats"); List<Cat> ...

    Spring 和hibernate集成自学笔记

    - **简单命名查询** ```xml <class></class> <![CDATA[from bean.User]]> // 示例:List<User> users = this.getHibernateTemplate().findByNamedQuery("queryAllUser"); ``` - **带参数的命名查询** ...

    hibernate 持久层优化

    3. **合理使用查询参数**:使用合适的查询参数,如使用`LIMIT`和`OFFSET`来实现分页查询,可以有效地减少数据传输量。 #### 三、选择正确的查询方法 不同的查询方法对数据库的性能影响也不同。通过对比实验可以看出...

    Hibernate3使用经验

    Session session = this.getHibernateTemplate().getSessionFactory().openSession(); Transaction tran = session.beginTransaction(); try { session.save(userManager); tran.commit(); } catch ...

    HibernateTemplate的用法总结

    - **易于测试**:由于使用了Spring的依赖注入,使得单元测试更加简单。 #### 五、注意事项 1. **异常处理**:虽然HibernateTemplate提供了一些异常包装,但在实际开发中还需要结合业务逻辑进行更细致的异常处理。 ...

    ssh环境搭建和简单示例

    在实际项目中,你可以创建一个名为`FwxxDAOHibImpl`的DAO实现类,继承`HibernateDaoSupport`,并利用`getHibernateTemplate()`方法获取`HibernateTemplate`实例,进而进行数据库操作。这样,通过Spring的依赖注入,...

    Criteria使用方法

    List<Cat> cats = getHibernateTemplate().findByCriteria(criteria); ``` #### 三、Criterion与Projection **1. Criterion** - **定义**:`Criterion`是`Criteria`的查询条件。它定义了查询的具体条件,如等于、...

    HibernateDaoSupport的使用

    当Spring与Hibernate结合时,Spring提供了`HibernateDaoSupport`类,它为基于Hibernate的DAO(数据访问对象)提供了一种简单而强大的支持。本文将深入探讨`HibernateDaoSupport`的原理、用法以及它如何简化开发工作...

    Spring中常用的hql查询方法

    这对于简单的条件查询非常有用。 **示例代码**: ```java List<User> userList = this.getHibernateTemplate().find("from bean.User u where u.name=?", "test"); ``` 或进行模糊查询: ```java List<User> user...

Global site tag (gtag.js) - Google Analytics