亚洲免费在线视频-亚洲啊v-久久免费精品视频-国产精品va-看片地址-成人在线视频网

您的位置:首頁技術文章
文章詳情頁

java - Hibernate批量插入數據總是插入不完整

瀏覽:107日期:2023-12-15 18:42:42

問題描述

在利用hibernate向數據庫插入數據的時候發現總共2000多條數據只能插入一部分到數據庫中,debug的時候發現在循環中確實是建立了對象并且調用了save()方法的我的代碼如下

Configuration configuration = new Configuration().configure(); SessionFactory sessionFactory = configuration.buildSessionFactory(); Session session = sessionFactory.openSession(); Transaction tx = session.beginTransaction(); String file = 'src/1.xlsx'; InputStream is = null; try {is = new FileInputStream(file); } catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace(); } XSSFWorkbook xssfWorkbook = null; try {xssfWorkbook = new XSSFWorkbook(is); } catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace(); } // 獲取每一個工作薄 for (int numSheet = 0; numSheet < xssfWorkbook.getNumberOfSheets(); numSheet++) {XSSFSheet xssfSheet = xssfWorkbook.getSheetAt(numSheet);if (xssfSheet == null) { continue;}// 獲取當前工作薄的每一行for (int rowNum = 1; rowNum <= xssfSheet.getLastRowNum(); rowNum++) { XSSFRow xssfRow = xssfSheet.getRow(rowNum); if (xssfRow != null) {XSSFCell one = xssfRow.getCell(0);XSSFCell two = xssfRow.getCell(1);XSSFCell three = xssfRow.getCell(2);String name = getValue(three);String code;if (getValue(one).equals('滬市')) code = 'sh' + getValue(two);else code = 'sz' + getValue(two);StockName2Code s = new StockName2Code();s.setCode(code);s.setName(name);session.save(s);if (rowNum % 20 == 0) { session.flush(); session.clear();} }} } tx.commit(); session.close(); sessionFactory.close();

我的配置文件如下

` <!DOCTYPE hibernate-configuration PUBLIC

'-//Hibernate/Hibernate Configuration DTD 3.0//EN' 'http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd'>

<hibernate-configuration>

<session-factory> <!-- Database connection settings --> <!-- 表示使用 mysql 數據庫驅動類 --> <property name='connection.driver_class'>com.mysql.jdbc.Driver</property> <!-- jdbc 的連接 url 和數據庫 --> <property name='connection.url'>jdbc:mysql://*******/******?useUnicode=true&amp;characterEncoding=UTF-8</property> <!-- 數據庫用戶名 --> <property name='connection.username'>root</property> <!-- 密碼(這里為空) --> <property name='connection.password'>********</property> <!-- JDBC connection pool (use the built-in) --> <!-- <property name='connection.pool_size'>1</property> --> <!-- 數據庫使用的方言 --> <property name='dialect'>org.hibernate.dialect.MySQL5Dialect</property> <!-- Echo all executed SQL to stdout --> <!-- 設置 打印輸出 sql 語句 為真 --> <property name='show_sql'>true</property> <!-- 設置格式為 sql --> <property name='format_sql'>true</property> <!-- 第一次加載 hibernate 時根據實體類自動建立表結構,以后自動更新表結構 --> <property name='hbm2ddl.auto'>update</property> <!-- 映射文件 --> <mapping /></session-factory>

</hibernate-configuration> `

雖然并沒有拋出內存用完的異常,但是因為在搜索的時候發現可能是由于hibernate緩存的問題,所以加上了每20條強制刷新的代碼塊,但是最后發現還是沒有效果,插入操作還是只能進行一部分,不知道還有沒有什么可能的原因?

問題解答

回答1:

hibernate已經設置為show_sql了,打印出來sql數量跟excel數據數量一致嗎

標簽: java
相關文章:
主站蜘蛛池模板: 国产年成美女网站视频免费看 | 久久.com| 91黑丝国产线观看免费 | 最新国产一区二区精品久久 | 久草新| 最新亚洲人成网站在线影院 | 久久久亚洲精品国产 | 国产在线一二三区 | 国产美女一区二区在线观看 | 日本特级淫片免费看 | 女bbbbxxxx毛片视频0 | 黄色国产网站 | a毛片在线看片免费 | 精品国产成人a区在线观看 精品国产成人a在线观看 | 一级毛片视频免费观看 | 成人爽爽大片在线观看 | 中国成人免费视频 | 久久亚洲综合中文字幕 | 国产精品美女一区二区 | 欧日韩美香蕉在线观看 | a国产精品 | 欧美级毛片| 国产一级做a爰片久久毛片男 | 91麻精品国产91久久久久 | 边接电话边做国语高清对白 | 一 级 黄 色 大片 | 在线视频一区二区三区在线播放 | 日本欧美不卡一区二区三区在线 | 永久免费不卡在线观看黄网站 | 九九精品国产兔费观看久久 | 国产成人综合在线视频 | 欧美日韩日本国产 | 免费国产视频在线观看 | 国产在线啪 | 久久精品店 | 亚洲图片偷拍自拍 | 91成人网 | 91麻精品国产91久久久久 | 99久久免费精品国产免费高清 | 亚洲在成人网在线看 | 精品一区二区三区五区六区 |