goo blog サービス終了のお知らせ 

ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

Cookieに大量データを入れるよりAJAX?

2007-07-22 20:25:09 | Weblog

画面が切り替わる際に、切り替わった画面にも、データを引き継がせたい場合、
Cookieに入れるという手もあるけど、
大量データで、構造がある場合なんか、結構めんどっちいい

・画面が切り替わる前に、AJAXで、サーバー側に、保存したい値を渡して、
・サーバー側では、その値をセッションに保存して、
・画面が切り替わった後、AJAXで、保存してあるセッションの値をXMLの返り値
 として受け取ると


便利??
ただし、これは、社内のWebAPI(イントラネット、古い言い方では)の話で、
2回サーバーアクセスが入るから、そっちを嫌うケースも多いかも。。



  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Hello World程度のデータベース(その29:JDBC)

2007-07-22 14:28:40 | 土日シリーズ

情報処理とは何から、データベースの基本的な話(情報処理試験のデータベーススペシャリスト程度の話まで)を書く、土日のシリーズ「Hello World程度のデータベース」です。

 いままで、三層スキーマ構造により、データベースを説明してきた後に、前回は、データベース側のデーモンについて説明し、データベースと、外部プログラムとのつなぎ部分について説明しました。

 今回は、プログラム側から呼び出され、そのデータベースのデーモンと通信する機能をもつものについてです。これには、ODBCやJDBCなどありますが、ここでは、Javaのクラスとして提供され、データベースのデーモンと通信する、JDBCについて説明します。




■JDBCとは、

 JDBCは、Javaのクラスとして提供され、データベースとアクセスしたい場合、このJavaのクラスを決まった手順で呼び出すと、このJDBCが、前回説明したデータベースのデーモン(mysqldなど)とソケット間通信をして、処理を指示し、結果を受け取ります。デーモンから受け取った結果をJDBCは、プログラム側に返します。

 データベースのデーモンは、データベースごとに違うため、JDBCも、そのデータベース用のものがあります。
 たとえば、MySQLのJDBCドライバは、Connector/J、PostgresSQLのJDBCは、PostgreSQL JDBC Driverなどなどです。




■JDBCの呼出し手順

 で、上記に書いた「決まった手順で呼び出すと」について。
 どのような手順で呼び出すと、接続できるかですが・・・

	// ドライバクラスをロード
      	Class.forName("org.gjt.mm.mysql.Driver");

	// データベースへ接続
	String url = "jdbc:mysql:///dbname?useUnicode=true";
	Connection con = DriverManager.getConnection(url);

	// ステートメントを作成して
	Statement stmt = con.createStatement();
	String sql = "SELECT * FROM TBL_A";

	// クエリーを実行して結果セットを取得
	ResultSet rs = stmt.executeQuery(sql);



のように指定します
DriverManager.getConnection(url);はURLしか指定してませんけど、ここにユーザー名、パスワードを指定する場合もあります(っていうか、そっちのほうが多いと思いますけど)

で、なんでこういう呼び出しになるのかなど、詳しいことは、以前、

JDBCのプログラムとその動作の関連、これで合ってるのかな?
http://blog.goo.ne.jp/xmldtp/e/ec7b03f6cc66d4b725a03ebb086e85b4


で、書いたので、そっちを参照してください。




 で、このとき、2つ以上の関連するテーブル、たとえば、受注明細と受注テーブルにデータを追加するとき、受注だけ追加して、受注明細を追加しないとかすると、おかしな話になってしまうので、両方のテーブルを同時に更新する、もし更新できないときは、同時に取りやめるというトランザクションという概念があります。

 次回は、そのトランザクションについて、JDBCでの操作について書きます。


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする