Spring—HibernateTemplate方法总结
2017-02-21 20:24
405 查看
Spring—HibernateTemplate方法总结:
Spring在整合这块对Hibernate下了不少功夫,比如HibernateTemplate模板,就是对Hibernate的封装使用,集成了大量 Hibernate常用方法。
1)load/get:单条数据查询
2)save/delete/update:增删改
3)bulkUpdate:批量删除/批量更新
注意:在数据量较大的情况下,请自行清理缓存,不然会发生缓存溢出
4)find:HQL查询结果集
5)findByCriteria:离线查询
注意,上图只是演示使用步骤,具体业务中可能会动态拼接离线查询的条件。
6)findByNamedQuery:命名查询
7)findByNamedParam
该方法其实和find方法差不多,只是find方法的hql条件只能用?号来拼接条件,而不能使用命名拼接 所以Spirng给出 findByNamedParam方法来解决命名拼接
8)findByExample
该方法会根据传递的对象动态的拼装语句,进行查询,根据对象的属性是否为空来动态拼装,但是注意!拼接条件不支持:主键、外键、null,且拼接条件只支持=或 like 其他的>、< 、in 之类的不支持,有一定的限制.
9)execute
HibernateTemplate模板封装了Hibernate常用方法,但是不可能全部封装,在一定程度上缺少灵活性,
根据业务可能我们需要更加灵活的方式,这里Spring给出的解决方案就是回调机制,模板固化了不变,
流程化的内容,简化了使用,回调机制就在在固化的流程中加入变化的内容。
具体步骤:实现HibernateCallback接口,重写doInHibernate方法
调用execute方法
execute的参数就是HibernateCallback接口的实现类,以上方式如果在业务灵活度要求很高的情况下无疑只会让 HibernateCallback实现类越来越多,增加工作量,所以利用java匿名内部类的特性来是实现。
doInHibernate的参数arg0就是会话工厂创建的一个Session,因此我们不会关系会话的创建和释放,实现了
原生Hibernate的运行环境,只需要关注业务的处理。
以上只是介绍了常用的几种,而且每个方法的还有重置方法,就不一一罗列了
Spring在整合这块对Hibernate下了不少功夫,比如HibernateTemplate模板,就是对Hibernate的封装使用,集成了大量 Hibernate常用方法。
1)load/get:单条数据查询
2)save/delete/update:增删改
3)bulkUpdate:批量删除/批量更新
注意:在数据量较大的情况下,请自行清理缓存,不然会发生缓存溢出
4)find:HQL查询结果集
5)findByCriteria:离线查询
注意,上图只是演示使用步骤,具体业务中可能会动态拼接离线查询的条件。
6)findByNamedQuery:命名查询
7)findByNamedParam
该方法其实和find方法差不多,只是find方法的hql条件只能用?号来拼接条件,而不能使用命名拼接 所以Spirng给出 findByNamedParam方法来解决命名拼接
8)findByExample
该方法会根据传递的对象动态的拼装语句,进行查询,根据对象的属性是否为空来动态拼装,但是注意!拼接条件不支持:主键、外键、null,且拼接条件只支持=或 like 其他的>、< 、in 之类的不支持,有一定的限制.
9)execute
HibernateTemplate模板封装了Hibernate常用方法,但是不可能全部封装,在一定程度上缺少灵活性,
根据业务可能我们需要更加灵活的方式,这里Spring给出的解决方案就是回调机制,模板固化了不变,
流程化的内容,简化了使用,回调机制就在在固化的流程中加入变化的内容。
具体步骤:实现HibernateCallback接口,重写doInHibernate方法
调用execute方法
execute的参数就是HibernateCallback接口的实现类,以上方式如果在业务灵活度要求很高的情况下无疑只会让 HibernateCallback实现类越来越多,增加工作量,所以利用java匿名内部类的特性来是实现。
doInHibernate的参数arg0就是会话工厂创建的一个Session,因此我们不会关系会话的创建和释放,实现了
原生Hibernate的运行环境,只需要关注业务的处理。
以上只是介绍了常用的几种,而且每个方法的还有重置方法,就不一一罗列了
相关文章推荐
- Spring中常用的hql查询方法(getHibernateTemplate())
- Spring中常用的hql查询方法(getHibernateTemplate())(转)
- Spring中常用的hql查询方法(getHibernateTemplate())
- Spring和Hibernate集成的HibernateTemplate的一些常用方法总结
- Spring中常用的hql查询方法(getHibernateTemplate())
- spring+hibernate+struts 自己总结出的方法。
- Spring 中常用的hql查询方法(getHibernateTemplate())
- Spring中常用的hql查询方法 (getHibernateTemplate())
- Spring中常用的hql查询方法 (getHibernateTemplate())
- Spring中常用的hql查询方法(getHibernateTemplate())
- jumliang Spring中常用的hql查询方法(getHibernateTemplate())
- spring整合hibernate使用getHibernateTemplate().save()方法不能输入数据库
- Spring和Hibernate集成的HibernateTemplate的一些常用方法总结
- Spring中常用的hql查询方法(getHibernateTemplate())
- Spring中常用的hql查询方法 (getHibernateTemplate())
- Spring和Hibernate集成的HibernateTemplate的一些常用方法总结
- Spring中常用的hql查询方法(getHibernateTemplate())
- Spring中常用的hql查询方法(getHibernateTemplate())
- Spring&Hibernate增删改方法总结,版本号V1.0.0(献给纠结于SSH框架的学子们)
- mongodb和spring集成中MongoTemplate的总结是使用方法