• spring对hibernate批量操作的支持


         本文由广州疯狂软件java培训分享:

      目前好多项目都使用spring的HibernateTemplate作为dao层,在实际开发中经常会遇到批量更新和删除的操作,

      在hibernate2.0时代,hibernate本身并没有提供对批量更新和批量删除的支持,当执行更新或删除操作时会先执行查询将所有对象加载到内存,而后一个对象一个对象的删除或更新,如果数据量很大,不仅会占用很多内存,而且也会使数据库的效率大大降低,如果想批量的执行就只能绕开hibernate的api使用jdbc的方式。

      好在hibernate3.0以后,hibernate提供了对批量更新和批量删除的支持,能够直接执行批量更新或批量删除语句,无需把被更新或删除的对象先加载到内存中。

      spring(我使用的版本是2.5.X)同样提供了这方面的支持,使用方法如下:

      //dao继承于HibernateDaoSupport

      String updateHql = "update LadderPrice t set t.laprStatus = 0 where t.cooperatorInfo.id = 1";

      String deleteHql = "delete from LadderPrice t where t.cooperatorInfo.id = 1";

      //批量更新和批量删除使用的相同的方法

      //批量更新

      int i = dao.getHibernateTemplate().bulkUpdate(updateHql );

      //批量删除

      int i = dao.getHibernateTemplate().bulkUpdate(deleteHql );

      //批量操作只会向数据库发送一条语句,大大提高数据库访问效率。

      疯狂软件教育中心依托开发团队的强大技术实力,把企业最新技术融入实训课程,打造金牌的品质,才能给予学员黄金的未来,疯狂软件凭借过硬的技术实力与丰富的项目开发经验,赢得了社会的肯定。疯狂软件Java培训师资力量强大,课程内容深入,为学员高薪就业做了很好的铺垫,拥有丰富就业指导经验的就业团队也成为了学员高薪就业的先天优势。地址:广州天河区车陂沣宏大厦3楼。

  • 相关阅读:
    15天学会jquery
    js常用方法
    js兼容注意事项--仅供参考
    Javascript面向对象特性实现封装、继承、接口详细案例
    关于sql用<>不等于查询数据不对问题
    解决document.onclick在IE下用不了或无效的问题
    解决Button设置disabled后无法执行后台代码问题
    利用Wireshark截取数据包,并对数据包进行解析
    导入本地文本中的数据到MySQL数据库中
    删除数据库中重复项
  • 原文地址:https://www.cnblogs.com/gojava/p/3625505.html
Copyright © 2020-2023  润新知