[Seasar-user:2951] [S2DAO] SQL実行について質問
danbara@frontierdomain.co.jp
danbara
2005年 11月 29日 (火) 12:09:47 JST
初めて投稿いたします。檀原@FDです。
S2DAO の理解を深めるために数点質問させてください。
質問1. S2DAOを使用している際、JavaBean の配列を用意し、
それを、examples.daoDepartmentDao#insert() メソッドにおいて
実行するとします。
DepartmentDaoClient.javaで、下記の処理とする
------------------------------------------------------
DepartmentDao dao = (DepartmentDao) container
.getComponent(DepartmentDao.class);
Department department[] ; //Beanを配列として生成するところは省略
for (int i = 0; i department.length; i++){
dao.insert(department[i]);
}
実際の処理イメージは下記になるのか?
PreparedStatement が毎回生成されるのか?
------------------------------------------------------
Department department[] ; //Beanを配列として生成するところは省略
String sql = "INSERT INTO department SET bar = ?"; //SQLは適当
for (int i = 0; i < department.length ; i++){
//ループ内でPreparedStatementを生成
PreparedStatement pst = connection.prepareStatement(sql);
pst.setString(args[i].getDname());
・・・
try{
int l = pst.executeUpdate();
} catch (SQLException e){
・・・
} final {
pst.close();
}
}
------------------------------------------------------
質問2. 質問1の処理イメージ通りだとして、
PreparedStatement pst = connection.prepareStatement(sql);
を、ループ外に移動させる方法はありますか?
以上 よろしくお願いします。
Seasar-user メーリングリストの案内