Spring—HibernateTemplate方法总结

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的运行环境,只需要关注业务的处理。

    以上只是介绍了常用的几种,而且每个方法的还有重置方法,就不一一罗列了

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值