Quitada ブログ RX

Quitada ブログ RX

PR

×

Keyword Search

▼キーワード検索

Profile

quitada 2.0

quitada 2.0

Calendar

Category

雑

(284)

SEO

(144)

金持ち父さん

(640)

生活

(215)

パソコン弄り

(136)

友人

(63)

IT

(160)

飲食

(134)

書評

(14)

My ブログ

(297)

BBC

(7)

健康

(7)

Comments

RandyMaync@ заказать прогон сайта по трастовым сайтам подарок онлайн смотреть <small> <a hre…
JesusDrype@ Наркологическая клиника в Красноярске: полезная информация Абстиненция развивается после прекращен…
Terryintem@ Клиника Частный Медик 24. Стационар Вызвать нарколога на дом стоит не тольк…
Robertalila@ Кому повезет в 2026 году, китайский гороскоп Китайские звёзды 2026: только три знака…
2007年06月15日
XML
カテゴリ: IT
死後賭で色々と調査してたら、また無駄な知識をゲット。



J2SE 5.0 から、JDBC を使った ResultSet インターフェースを用いた DB アクセス手法のほか、 RowSet インターフェース を用いた手法が標準になったそうで。

RowSet の特徴とか使い方は こちらのサイト様 が詳しいです(サンプルソースコードは、Sun のライブラリを使っているようですね)。ま、コーディング的には Connection を確立して、Statement を定義・実行して ResultSet を取得してという従来のお作法プログラミングが不要で、より直感的に JDBC アクセスできるのがうれしいですね。

私は、 SOA 企業 BEA 社 の WebLogic Server 8.1 で試してみました。 ここ とか参考にしました。Java のソースコードは以下のような感じ(になっているのは WebLogic Server JNDI 関連のお作法コード)。
import java.util.*;
import java.sql.*;
import javax.naming.*;
import javax.sql.rowset.CachedRowSet;
import weblogic.jdbc.rowset.RowSetFactory;
    :
  Context ctx = null;

  Hashtable ht = new Hashtable();
  ht.put(Context.INITIAL_CONTEXT_FACTORY,
    " weblogic.jndi.WLInitialContextFactory ");
  ht.put(Context.PROVIDER_URL," t3://localhost:7001 ");

  RowSetFactory rsfact = RowSetFactory.newInstance();
  CachedRowSet rs = null;

  try {
    ctx = new InitialContext(ht);
    javax.sql.DataSource ds = (javax.sql.DataSource) ctx.lookup (" [DataSource の JNDI 名] ");

    rsfact.setDataSource(ds);
    rs = rsfact.newCachedRowSet();

    rs.setCommand("select * from NANIKA where KAZU < ?");
    rs.setInt(1, 2000);
    rs.execute();

    while (rs.next()) {
      System.out.println("NAMAE =" + rs.getString("NAME"));
      System.out.println("KAZU =" + rs.getInt("KAZU"));
    }
  } catch (Exception ex) {
    ex.printStackTrace();
  } finally {
    try {
      rs.close();
    } catch (Exception sqlex) {
      sqlex.printStackTrace();
    }
  }


見るからに、WebLogic Server 独自クラス(weblogic.jdbc.rowset.RowSetFactory)使ってますね。再利用性が低いコードだ。ぐはぁ。





お気に入りの記事を「いいね!」で応援しよう

Last updated  2007年06月19日 00時25分20秒
コメント(0) | コメントを書く
[IT] カテゴリの最新記事


【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! -- / --
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x
X

© Rakuten Group, Inc.
X
Design a Mobile Site
スマートフォン版を閲覧 | PC版を閲覧
Share by: