初めてのプロジェクトはバッチ処理です、CSVファイルのデータをDBに書き込みします、DBのデータをCSVファイルに書き込みします。学到的一个重要东西是DAOGenerator,这是IBM自己的一个插件,对DAO的操作非常方便,最终能产生两种类型的数据集,List或Map型数据集。这样对数据库的操作就很容易。这次的项目最复杂的是把多个CSV文件中的数据写入一个表中。
import java.util.ArrayList;import java.util.Iterator;import java.util.List;import java.util.Map;
/* * 作成日: 2006/12/13 * * * ウィンドウ - 設定 - Java - コード・スタイル - コード・テンプレート */
/** * @author bsolZhang * * * ウィンドウ - 設定 - Java - コード・スタイル - コード・テンプレート */public class Test {
/** * <code>NUM_SRJKN_FRM_TXNKG</code> のコメント */ private static final int NUM_SRJKN_FRM_TXNKG = 0; /** * <code>NUM_SRJKN_TO_TXNKG</code> のコメント */ private static final int NUM_SRJKN_TO_TXNKG = 1; /** * <code>NUM_SRY</code> のコメント */ private static final int NUM_SRY = 2; /** * <code>TM2030Map</code> のコメント */ private static final TestBean TM2030Map = null;
/** * @param args */ public static void main(String[] args){ int lCnt = 0; int count = 0; int flag = 0; int lErrCntWrk = 0; String[][] iiSry = new String[5][3]; String strKtrhcd = ""; String strDokbn = ""; TestBean tempMap = null; TestBean testBean1 = new TestBean("13","u","1","1","1"); TestBean testBean2 = new TestBean("13","u","2","2","2"); TestBean testBean3 = new TestBean("13","u","3","3","3"); TestBean testBean4 = new TestBean("14","u","4","4","4"); TestBean testBean5 = new TestBean("13","u","5","5","5"); TestBean testBean6 = new TestBean("13","u","6","6","6"); TestBean testBean7 = new TestBean("13","u","7","7","7"); TestBean testBean11 = new TestBean("13","u","11","11","11"); TestBean testBean12 = new TestBean("13","u","12","12","12"); TestBean testBean13 = new TestBean("13","u","13","13","13"); TestBean testBean14 = new TestBean("13","u","14","14","14"); TestBean testBean15 = new TestBean("13","u","15","15","15"); TestBean testBean16 = new TestBean("12","u","16","16","16"); TestBean testBean17 = new TestBean("13","u","17","17","17"); List beforelist = new ArrayList(); beforelist.add(testBean1); beforelist.add(testBean2); beforelist.add(testBean3); beforelist.add(testBean4); beforelist.add(testBean5); beforelist.add(testBean6); beforelist.add(testBean7); beforelist.add(testBean11); beforelist.add(testBean12); beforelist.add(testBean13); beforelist.add(testBean14); beforelist.add(testBean15); beforelist.add(testBean16); beforelist.add(testBean17); for (Iterator ite = beforelist.iterator(); ite.hasNext(); lCnt = lCnt + 1) { // データ取得 TestBean TM2030Map = (TestBean) ite.next(); //2.4.1. 前レコードとPK、処理区分を比較 if ( lCnt == 0 || (strKtrhcd.equals(TM2030Map.getA()) && strDokbn.equals(TM2030Map.getB()))) { if(count == 5 || flag == 1){ lErrCntWrk = lErrCntWrk + 1; System.out.println("エラー件数:" + lErrCntWrk); flag = 1; continue; } //---------------------------------------------------------- //② 送料セット //---------------------------------------------------------- // 送料条件FROM税抜金額 iiSry[count][NUM_SRJKN_FRM_TXNKG]=(String)TM2030Map.getC(); // 送料条件TO税抜金額 iiSry[count][NUM_SRJKN_TO_TXNKG]=(String)TM2030Map.getD(); // 送料S iiSry[count][NUM_SRY]=(String)TM2030Map.getE(); count = count + 1; }else{ if (flag == 0){ for (int i = count; i < 5; i++) { // 送料条件FROM税抜金額 iiSry[i][NUM_SRJKN_FRM_TXNKG]=","; // 送料条件TO税抜金額 iiSry[i][NUM_SRJKN_TO_TXNKG]=","; // 送料 iiSry[i][NUM_SRY]=","; } System.out.print((String) ((TestBean) tempMap).getA()); System.out.print((String) ((TestBean) tempMap).getB()); for (int i = 0; i < 5; i++) { // 送料条件FROM税抜金額 System.out.print(iiSry[i][NUM_SRJKN_FRM_TXNKG]); // 送料条件TO税抜金額 System.out.print(iiSry[i][NUM_SRJKN_TO_TXNKG]); // 送料 System.out.print(iiSry[i][NUM_SRY]); } System.out.println(); } // 送料条件FROM税抜金額 iiSry[0][NUM_SRJKN_FRM_TXNKG]=(String)TM2030Map.getC(); // 送料条件TO税抜金額 iiSry[0][NUM_SRJKN_TO_TXNKG]=(String)TM2030Map.getD(); // 送料S iiSry[0][NUM_SRY]=(String)TM2030Map.getE(); count = 1; flag = 0; } tempMap =(TestBean) TM2030Map; strKtrhcd = (String) ((TestBean) tempMap).getA(); strDokbn = (String) ((TestBean) tempMap).getB();
} if (flag == 0){ for (int i = count; i < 5; i++) { // 送料条件FROM税抜金額 iiSry[i][NUM_SRJKN_FRM_TXNKG]=","; // 送料条件TO税抜金額 iiSry[i][NUM_SRJKN_TO_TXNKG]=","; // 送料 iiSry[i][NUM_SRY]=","; } System.out.print((String) ((TestBean) tempMap).getA()); System.out.print((String) ((TestBean) tempMap).getB()); for (int i = 0; i < 5; i++) { // 送料条件FROM税抜金額 System.out.print(iiSry[i][NUM_SRJKN_FRM_TXNKG]); // 送料条件TO税抜金額 System.out.print(iiSry[i][NUM_SRJKN_TO_TXNKG]); // 送料 System.out.print(iiSry[i][NUM_SRY]); } System.out.println(); }}}