国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術(shù)文章
文章詳情頁

java - Hibernate批量插入數(shù)據(jù)總是插入不完整

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

問題描述

在利用hibernate向數(shù)據(jù)庫插入數(shù)據(jù)的時候發(fā)現(xiàn)總共2000多條數(shù)據(jù)只能插入一部分到數(shù)據(jù)庫中,debug的時候發(fā)現(xiàn)在循環(huán)中確實是建立了對象并且調(diào)用了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;}// 獲取當(dāng)前工作薄的每一行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 數(shù)據(jù)庫驅(qū)動類 --> <property name='connection.driver_class'>com.mysql.jdbc.Driver</property> <!-- jdbc 的連接 url 和數(shù)據(jù)庫 --> <property name='connection.url'>jdbc:mysql://*******/******?useUnicode=true&amp;characterEncoding=UTF-8</property> <!-- 數(shù)據(jù)庫用戶名 --> <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> --> <!-- 數(shù)據(jù)庫使用的方言 --> <property name='dialect'>org.hibernate.dialect.MySQL5Dialect</property> <!-- Echo all executed SQL to stdout --> <!-- 設(shè)置 打印輸出 sql 語句 為真 --> <property name='show_sql'>true</property> <!-- 設(shè)置格式為 sql --> <property name='format_sql'>true</property> <!-- 第一次加載 hibernate 時根據(jù)實體類自動建立表結(jié)構(gòu),以后自動更新表結(jié)構(gòu) --> <property name='hbm2ddl.auto'>update</property> <!-- 映射文件 --> <mapping /></session-factory>

</hibernate-configuration> `

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

問題解答

回答1:

hibernate已經(jīng)設(shè)置為show_sql了,打印出來sql數(shù)量跟excel數(shù)據(jù)數(shù)量一致嗎

標(biāo)簽: java
相關(guān)文章:
主站蜘蛛池模板: wwwwwww黄| 国产成人久久综合二区 | 在线播放一级片 | 久久悠 | 美女视频网站永久免费观看软件 | 成人免费一级在线播放 | 欧美另类videosbestsex视频 | 欧美日韩精品一区二区视频在线观看 | 亚洲视频 中文字幕 | 亚洲视频在线观看免费视频 | 亚洲天天| 久久精品一区二区三区四区 | 草草视频免费在线观看 | 欧美在线视频一区 | 国产精品视频永久免费播放 | 亚洲品质自拍网站 | 国产高清在线精品一区二区 | 国产精品秦先生手机在线 | 国产第一草草影院 | 在线观看免费视频国产 | 99热只有精品一区二区 | 国产福利三区 | 日韩视频网 | 毛片的网址 | 亚洲国产精品一区二区九九 | 亚洲午夜一区二区三区 | 亚洲精品国产一区二区三区在 | 午夜爽 | 免费久久精品 | 精品视频在线免费播放 | 91精品福利手机国产在线 | 国产aaa女人十八毛片 | 国产视频手机在线 | 成年人在线观看视频网站 | 性做久久久久免费观看 | 特别福利视频在线观看 | 日本在线加勒比 | 国产亚洲精品久久久久久久 | 美女黄色免费看 | 国内精品免费一区二区观看 | 日本精品久久久久久久 |