您的位置:首页 > 编程语言 > Java开发

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