忍者ブログ
[18]  [17]  [16]  [15]  [14]  [13]  [12]  [11]  [10]  [9]  [8
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

INSERT文をSQLFILEと自動SQL作成を使用して実行してみる。

まずはDaoから

TableDao.java

package s2dao.test.dao;

import java.util.List;

import s2dao.test.dto.Tran;
import s2dao.test.dto.TranDto;

public interface TableDao {

 public static final Class BEAN = TranDto.class;

 public static final String getAllColumn_SQL_FILE = "s2dao/test/sql/TableDao_getAllColumn.sql";

 public List<TranDto> getAllColumn();

 public List<TranDto> getAllColumnAuto();

 public String getAllColumnAutoId_ARGS = "id";

 public List<TranDto> getAllColumnAutoId(int id);

 public int insert(TranDto tran); 

public static final String insertTran_SQL_FILE = "s2dao/test/sql/TableDao_insertTran.sql";

 public int insertTran(TranDto tran);
}


んでINSERT用のSQLファイル

TableDao_insertTran.sql

INSERT INTO TRAN VALUES ( /*id*/7788,/*tname*/'aaa',/*mstno*/20 )

/**/で囲まれた部分に引数のプロパティ名と同じものが入ります。

/*プロパティ名*/リテラルの書式

/*の後ろに半角スペースを入れるとコメントになっちゃうので入れないように!!

リテラルはよくわからない(=ω=)

まぁ適当な数値や文字列を入れれば問題なさそう。(入れなくてもうまくいったしw)

んで最後のSqlStater.java

package s2dao.test.stat;

import java.util.List;

import org.seasar.framework.container.S2Container;
import org.seasar.framework.container.factory.S2ContainerFactory;

import s2dao.test.dao.TableDao;
import s2dao.test.dto.Tran;
import s2dao.test.dto.TranDto;

public class SqlStater {

 private static final String PATH = "mysql.dicon";

 public static void main(String[] args) {
  S2Container container = S2ContainerFactory.create(PATH);
  container.init();

  try {
   TableDao dao = (TableDao)container.getComponent(TableDao.class);

   System.out.println("======ALL RECODE========");
   List<TranDto> tableDtoList = dao.getAllColumn();

   for( int i = 0; i < tableDtoList.size(); ++i ) {
    System.out.println(tableDtoList.get(i));
   }

   System.out.println("======Auto========");

   tableDtoList = dao.getAllColumnAuto();

   for( int i = 0; i < tableDtoList.size(); ++i ) {
    System.out.println(tableDtoList.get(i));
   }

   System.out.println("======Auto ID========");

   tableDtoList = dao.getAllColumnAutoId(1);

   for( int i = 0; i < tableDtoList.size(); ++i ) {
    System.out.println(tableDtoList.get(i));
   }

   System.out.println("======Insert SQLFILE========");

   TranDto trandto = new TranDto();
   trandto.setId(7);
   trandto.setTname("TRANNAME7");
   trandto.setMstno(20);

   int count1 = dao.insertTran(trandto);
   System.out.println("INSERT SUCCESS COUNT : " + count1 );

   System.out.println("======Insert AUTO========");
   trandto = new TranDto();
   trandto.setId(8);
   trandto.setTname("TRANNAME8");
   trandto.setMstno(21);

   int count2 = dao.insert(trandto);
   System.out.println("INSERT SUCCESS COUNT : " + count2 );

   System.out.println("======ALL RECODE========");
   tableDtoList = dao.getAllColumnAuto();

   for( int i = 0; i < tableDtoList.size(); ++i ) {
    System.out.println(tableDtoList.get(i));
   }
  } finally {
   container.destroy();
  }
 }
}

これで実行すると・・・

======ALL RECODE========
1, TRANNAME1, 20, { 20. MSTNAME1 }
2, TRANNAME2, 20, { 20. MSTNAME1 }
3, TRANNAME3, 21, { 21. MSTNAME2 }
4, TRANNAME4, 21, { 21. MSTNAME2 }
======Auto========
1, TRANNAME1, 20, { 20. MSTNAME1 }
2, TRANNAME2, 20, { 20. MSTNAME1 }
3, TRANNAME3, 21, { 21. MSTNAME2 }
4, TRANNAME4, 21, { 21. MSTNAME2 }
======Auto ID========
1, TRANNAME1, 20, { 20. MSTNAME1 }
======Insert SQLFILE========
INSERT SUCCESS COUNT : 1
======Insert AUTO========
INSERT SUCCESS COUNT : 1
======ALL RECODE========
1, TRANNAME1, 20, { 20. MSTNAME1 }
2, TRANNAME2, 20, { 20. MSTNAME1 }
3, TRANNAME3, 21, { 21. MSTNAME2 }
4, TRANNAME4, 21, { 21. MSTNAME2 }
7, TRANNAME7, 20, { 20. MSTNAME1 }
8, TRANNAME8, 21, { 21. MSTNAME2 }

こんな感じに出ます。

PR
この記事にコメントする
お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
カレンダー
03 2024/04 05
S M T W T F S
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
ブログ内検索
忍者ブログ [PR]

Graphics by Lame Tea / designed by 26℃