ITコンサルの日常

ITコンサル会社に勤務する普通のITエンジニアの日常です。

iBatis動きました

いともあっさりでした。直感的で分かりやすい証拠なのだと思います。速度的には、まあ予想通りというか、JDBCより若干遅い程度みたいです。数字は、オレオレベンチマークの仕様と共に、そのうち公開します。
ソースは、http://taka-2.com/jclass/archive/OR.zip
しっかし、ネイティブなSQLをごりごり書いていけるのは、とっっても快感です!生JDBCはいやだけど、SQLは自由に使いたいって人には、かなりおすすめなのではないでしょうか。
一つ疑問に思ったのが、

public class Orders
{
  private int id;
  private Customer customer;
  private Item item;
  private int quantity;
}

みたいなクラスがあって、

  <insert id="insert_orders" parameterClass="or.Orders">
    insert into ORDERS (ID, CUSTOMER_ID, ITEM_ID, QUANTITY) values (#id#, #customer.id#, #item.id#, #quantity#)
    <selectKey resultClass="int" keyProperty="id" >
      select @@IDENTITY;
    </selectKey>
  </insert>

みたいに、ELチックに書けないものなのでしょうか。結局考えるのが面倒だったので、

public class Orders2
{
  private int id;
  private int customerId;
  private int itemId;
  private int quantity;
}

というクラスを定義して、

  <insert id="insert_orders" parameterClass="or.Orders2">
    insert into ORDERS (ID, CUSTOMER_ID, ITEM_ID, QUANTITY) values (#id#, #customerId#, #itemId#, #quantity#)
    <selectKey resultClass="int" keyProperty="id" >
      select @@IDENTITY;
    </selectKey>
  </insert>

という風にしました。まあ、まんまって感じですね。