사용자 도구

사이트 도구


wiki:java:batch

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
wiki:java:batch [2020/05/07 18:05]
hylee
wiki:java:batch [2023/01/13 18:44] (현재)
줄 1: 줄 1:
-====== 메일_보내기 ======+====== Batch() ======
 <WRAP left notice 80%> <WRAP left notice 80%>
   * description :    * description : 
줄 43: 줄 43:
             + " BBS_ID      "             + " BBS_ID      "
             + " ,SEQ        "             + " ,SEQ        "
-            + " ,등등 생략       "+            + "     -- 등등 생략 --      "
             + " )                 "             + " )                 "
             + " VALUES          "             + " VALUES          "
줄 49: 줄 49:
             + " 'news-media'    "             + " 'news-media'    "
             + " ,?              "             + " ,?              "
-            + " ,등등 생략       "+            + "     -- 등등 생략 --      "
             + "                       ";             + "                       ";
  
줄 57: 줄 57:
  
         pstmt.setInt(1,    cllctVO.getBitnaraSeq());         pstmt.setInt(1,    cllctVO.getBitnaraSeq());
-        등등 생략+                     -- 등등 생략 --
  
         ret = pstmt.executeUpdate();         ret = pstmt.executeUpdate();
줄 105: 줄 105:
             + " BBS_ID      "             + " BBS_ID      "
             + " ,SEQ        "             + " ,SEQ        "
-            + " ,등등 생략       "+            + "     -- 등등 생략 --      "
             + " )                 "             + " )                 "
             + " VALUES          "             + " VALUES          "
줄 111: 줄 111:
             + " 'news-media'    "             + " 'news-media'    "
             + " ,?              "             + " ,?              "
-            + " ,등등 생략       "+            + "     -- 등등 생략 --      "
             + "                       ";             + "                       ";
  
줄 124: 줄 124:
  
             pstmt.setInt(1,    cllctVO.getBitnaraSeq());             pstmt.setInt(1,    cllctVO.getBitnaraSeq());
-            등등 생략+                        -- 등등 생략 --
          
 +            // Batch Job으로 모은다.
             pstmt.addBatch();             pstmt.addBatch();
                    
줄 134: 줄 135:
         }         }
     }     }
 +    // Batch Job으로 모은걸 한번에 실행한다.
     pstmt.executeBatch();     pstmt.executeBatch();
          
     try {     try {
-    pstmt.close(); +        pstmt.close(); 
-    psFileTmt.close(); +        psFileTmt.close(); 
-    psMariaTmt.close();+        psMariaTmt.close();
     } catch (Exception e2) {e2.printStackTrace();}     } catch (Exception e2) {e2.printStackTrace();}
  
     try {     try {
-    connCu.close(); +        connCu.close(); 
-    conn.close();+        conn.close();
     } catch (Exception e2) {e2.printStackTrace();}     } catch (Exception e2) {e2.printStackTrace();}
          
줄 159: 줄 161:
  
 === 중요 내용 === === 중요 내용 ===
-내용 인코딩이 UTF-8일 떄 제목 인코딩도 아래처럼 선언해야한다. +addBatch()를 사용하면 SQL문장을 LIST에 올려 놓고 executeBatch()를 사용 할 때 비로서 실제 DataBase에 저장 또는 변경 되는 것입니다. 
-> ex) message.setSubject(MimeUtility.encodeText(consultTitle, "UTF-8", "B")); +
-> 'MimeUtility.encodeText()'를 사용하면 catch에 'UnsupportedEncodingException eME'도 선언해줘야한다. +
-> ex) catch (MessagingException | UnsupportedEncodingException eME)+
  
 === 소스 출처 === === 소스 출처 ===
줄 168: 줄 167:
  
 ===== Tip ===== ===== Tip =====
 +> 10만건 이상 List에 올렸다가 한번에 실행하면 오류가 날수도있다.
 +<code java>
 +    if( (count % 100000) == 0){
 +        System.out.println(count + "건 처리중");
 +        pstmt.executeBatch();
 +    }
 +
 +</code>
 +> for문안에 addBatch() 를 하고 카운터를 늘린다음 10만건이 되면 바로 Batch()를 실행해야한다.
  
 ===== Troubleshooting ===== ===== Troubleshooting =====
  
 ===== Ref ===== ===== Ref =====
-  * [[https://blog.mailtrap.io/embedding-images-in-html-email-have-the-rules-changed/#CID_attachments_or_embedding_an_image_using_MIME_object|Embedding Images in HTML Email: Have the Rules Changed?]] +  * [[http://ojc.asia/bbs/board.php?bo_table=LecJDBC&wr_id=25|한번에 여러 레코드 입력시 addBatch() 쓰세요]] 
  
  
줄 179: 줄 187:
  
  
-{{tag>주레피 도봉산핵주먹 mail mail인코딩 SMTP}}+{{tag>주레피 도봉산핵주먹 .Batch() javaDB 데이터대용량처리}}
/volume1/web/dokuwiki/data/attic/wiki/java/batch.1588842339.txt.gz · 마지막으로 수정됨: 2022/03/10 19:52 (바깥 편집)