使用Spring的getHibernateTemplate()進行批處理(JDBC兼容方案)打賞

一直很抵觸hibernate,原因不多說,總知是能不用就不用。最近項目有大量數據導入的需求,一直出現連續導入10w左右就內存溢出之類的情況,開啟事物,分頁flush session還是挺慢,換對象為SQL,拼裝語句塊直接執行效果也不理想。看到網上說的使用傳統批處理速度要高10倍左右,于是試了試,還算可以。

由于項目其他地方有采用hibernate,甚至還用了iBATIS,不能隨意更換框架或者改動接口。

網上很多采用sessionFactory.connection();獲取Connection的文章,用過的朋友可能就知道,這個方法在Hibernate3.3.2版本中已被棄用。
替代方法:SessionFactoryUtils.getDataSource(sessionFactory).getConnection();
也可以直接使用:((SessionFactoryImplementor)sessionFactory).getConnectionProvider().getConnection();

獲取到Connection后就好說了,做法完全是傳統Jdbc的。通過這個方法單獨實現一個大批量插入的接口也不是什么難事了,這里不再贅述。

使用Spring的getHibernateTemplate()進行批處理(JDBC兼容方案)
文章《使用Spring的getHibernateTemplate()進行批處理(JDBC兼容方案)》二維碼
  • 微信打賞
  • 支付寶打賞

已有6條評論

  1. →→→點我*E夜情VY交友

    呵呵

    2014-07-05 03:01 回復
  2. 焦作問答信息網

    用到了

    2014-04-03 11:59 回復
  3. 娛樂城訊特

    支持一下..

    2014-03-28 10:42 回復
  4. 娛樂城訊特

    樓主早啊

    2014-03-27 09:40 回復
  5. 娛樂城訊特

    支持支持吧..

    2014-03-21 09:51 回復
  6. 溫州拆遷

    hibernate 使用java的會經常用到的 http://www.dpd56.com

    2014-03-20 12:56 回復

(必填)

(必填)

(可選)

黑龙江22选5开奖