亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

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

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

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

問題描述

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

</hibernate-configuration> `

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

問題解答

回答1:

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

標(biāo)簽: java
相關(guān)文章:
主站蜘蛛池模板: 一级毛片真人不卡免费播 | 在线a网站| 福利一区二区三区视频在线观看 | 国产一区二区精品在线观看 | 亚洲国产视频在线观看 | 成人性视频在线三级 | a级黄色网| 欧美一级刺激毛片 | 久久国产精品夜色 | 精品国产日韩亚洲一区在线 | 6080yy午夜不卡一二三区 | 黄色国产大片 | 永久免费的啪啪免费的网址 | www.大香 | 婷婷欧美 | 成人免费看黄页网址大全 | 伊人久久综合网亚洲 | 性色xxx视频 | 久9视频这里只有精品8 | 免费观看国产网址你懂的 | 精品国产福利久久久 | 国产成人免费视频 | 日本xxxⅹ色视频在线观看网站 | 尤物网站永久在线观看 | 非洲特黄一级毛片高清视频 | 又黄又爽的成人免费网站 | 在线观看亚洲人成网站 | 欧美一区二区三区综合色视频 | 49pao强力免费打造在线高清 | 国产亚洲精品久久久久91网站 | 精品一区二区久久久久久久网站 | 日韩欧美一区二区三区在线视频 | 91视频专区 | 日韩精品中文字幕在线 | 最新国产一区二区精品久久 | 日韩国产欧美视频 | 亚洲精品久久玖玖玖玖 | 国产日产欧产精品精品推荐在线 | 国内免费一区二区三区视频 | 国产精品久久久久久久久久日本 | 一区二区国产在线观看 |