java中批量插入資料jdbc hibernate Mybatis使用方式
1.jdbc方式中使用executeBatch實現
2.採用hibernate框架session.save()儲存資料
在hibernate中實現批量插入,必須通過經常的呼叫 flush() 以及稍後呼叫 clear() 來控制第一級快取的大小。
3.採用MyBatis框架批量新增資料
在MyBatis的mapping檔案中的相應xml的insert標籤中,對插入的值採用迴圈的方式。如下面程式碼:
JDBC中在做資料插入、更新、刪除操作,可以使用executeBatch()方法減少呼叫次數,如:
- Statement pstmt = conn.createStatement();
- pstmt.addBatch("insert into settings values(3,'小米','女')");
- pstmt.addBatch("insert into settings values(6,'小明','男')");
- pstmt.executeBatch();
2.採用hibernate框架session.save()儲存資料
在hibernate中實現批量插入,必須通過經常的呼叫 flush() 以及稍後呼叫 clear() 來控制第一級快取的大小。
- Session session = sessionFactory.openSession();
- Transaction tx = session.beginTransaction();
- for ( int i=0; i<100000; i++ ) {
- Student entity = new Student(.....);
- session.save(entity);
- if ( i % 50 == 0 ) {
- //每次批量把50條資料寫入資料庫並釋放記憶體
- session.flush();
- session.clear();
- }
- }
- tx.commit();
- session.close();
3.採用MyBatis框架批量新增資料
在MyBatis的mapping檔案中的相應xml的insert標籤中,對插入的值採用迴圈的方式。如下面程式碼:
- <insert id ="insertBatch" parameterType="List" >
- insert into STUDENT( ID,NAME,SEX)
- values
- <foreach collection ="list" item ="item" index ="index" separator =",">
- ( #{item.id},#{item.name},#{item.sex})
- </foreach>
- </insert >
相關文章
- mybatis插入資料、批量插入資料MyBatis
- MyBatis 批量插入資料MyBatis
- 使用Mybatis批量插入大量資料的實踐MyBatis
- MySQL:JDBC批量插入資料的效率MySqlJDBC
- MyBatis中批量插入資料,多重forEach迴圈MyBatis
- Java通過Mybatis實現批量插入資料到Oracle中JavaMyBatisOracle
- JDBC 批量插入資料優化, 使用 addBatch 和 executeBatchJDBC優化BAT
- MyBatis Plus 批量資料插入功能,yyds!MyBatis
- 使用MySqlBulkLoader批量插入資料MySql
- Mybatis批量插入Oracle、MySQLMyBatisOracleMySql
- hibernate進行JDBC批量新增JDBC
- oracle批量插入資料Oracle
- Redis從檔案中批量插入資料Redis
- 向表中插入大批量資料
- Java MyBatis 插入資料庫返回主鍵JavaMyBatis資料庫
- 使用 【Ado.Net】 批量插入資料
- 使用SqlBulkCopy批量插入或遷移資料(轉)SQL
- 大表資料插入批量提交
- 海量資料處理_批量插入
- SQL語句批量插入資料SQL
- SqlBulkCopy 複製批量插入資料SQL
- Mybatis批量更新三種方式MyBatis
- 還用foreach在MyBatis批量插入資料,伺服器還沒崩?MyBatis伺服器
- Java書籤 #MyBatis之批量插入並返回自增主鍵idJavaMyBatis
- 【MyBatis】幾種批量插入效率的比較MyBatis
- [轉載] 1.1Java使用JDBC原生方式連線MySql資料庫JavaJDBCMySql資料庫
- 後端開發:【批量插入海量資料之Java插入MySql】解決方案後端JavaMySql
- mybatis中使用foreach構造多like查詢及批量插入MyBatis
- Hibernate與JDBC混合使用JDBC
- Mybatis與傳統jdbc和Hibernate的比較MyBatisJDBC
- Mybatis批量插入,是否能夠返回id列表MyBatis
- Oracle批量插入資料insert all into用法Oracle
- MSSQL資料批量插入優化詳細SQL優化
- 批量插入資料的儲存過程儲存過程
- Laravel 批量插入(如果資料存在刪除原資料)Laravel
- 插入大量資料速度慢的解決方法:批量插入
- JDBC連線批量處理資料入庫JDBC
- 使用JDBC向MySQL資料庫批次插入10W條資料測試效率JDBCMySql資料庫