データベース・ベース・アクション
4669 ワード
JSP技術では、データベースに対する操作はすべてJDBCコンポーネントによって行われる.JDBCはjavaプログラムとデータベースの間で橋渡しの役割を果たします.
一JDBCの概念
1.JDBC(Java DataBase Connectivity)は、SQL文を実行するJava APIであり、複数のリレーショナル・データベースへの統合アクセスが可能である.JAVA言語で記述されたクラスとインタフェースのセットから構成されています.JDBCは「低レベル」インタフェースで、SQLコマンドを直接呼び出すことも、その上に高度なインタフェースとツールを構築することもでき、ユーザーに優しいインタフェースを提供します.
2.JDBC APIはデータベースアクセスの2層モデルと3層モデルをサポートする.
2層モデル:クライアントプログラム<-->データベース;3層モデル:クライアントプログラム<-->中間層<-->データベース.
中間層のメリットはは、企業データへのアクセスと更新の種類を制御することができる. ユーザは、高度なAPIを利用することができ、中間層がそれを対応する低レベル呼び出し に変換する責任を負う.
3.JDBCのドライバには、JDBC-ODBCブリッジ、ローカルAPIドライバ、ネットワークプロトコルドライバ、ローカルプロトコルドライバの4種類があります.
二JDBC API紹介 DriverManagerクラスは、異なるドライバのロードを担当し、異なる要求に従ってデータベース接続(Connection)に戻る.
a.DriverManagerを使用するgetConnection()データベースへの接続を確立します.
b.一連のDriverクラスを含み、Driverクラスには静的部分があり、このクラスインスタンスを作成し、DriverManagerを呼び出す.registerDriverは、ユーザーが直接登録方法を呼び出す必要がなく、自分を登録します.
c.Classを通過する.forName()メソッドは、Classなどのロードドライバクラスを表示します.forName("acme.db.Driver");ドライバを追加
java.lang.Systemのjdbc.driversプロパティでは、DriverManagerクラスがロードしたドライバクラス名のリストです.コロン区切りで、DriverManagerクラスを初期化すると、そのプロパティを検索してドライバをロードしようとします.DriverクラスをロードしてDriverMangerクラスに登録すると(先にロードしてから登録)、DriverManager.getConnection()が接続要求を発行した場合、DriverManagerは各ドライバをチェックし、最近のドライバ(可能なものが複数ある場合があります)とURLを接続します.URLはデータベースを示す方法を示します.URL構文:jdbc:<サブプロトコル>:<サブネーム>
のように Connectionオブジェクトは、実行されたSQL文とその接続で返された結果を含むデータベースへの接続を表します. Statement、PreparedStatement(パラメータなしのプリコンパイルSQL)、CallableStatementオブジェクト(データベース・ストレージ・プロシージャの呼び出し)、SQL文をデータベースに送信します. a.excuteQuery()はselect文のような単一の結果セットを返す
b.excuteUpdate()は、insert、update、deleteなどの影響を受ける行数を返します.
c.excute()は複数の結果セットを返す
注意:StatementオブジェクトはJavaゴミ回収プログラムによって自動的にシャットダウンされます.プログラミングスタイルとしてシャットダウンを表示し、DBMSリソースをタイムリーに解放する必要があります. ResultSetデータベースの結果セットではnext()などの一般的な方法で、結果セットでのカーソルの移動を制御します.
三応用例:JDBC-ODBC方式でアクセスアクセスアクセス
1.まずaccessデータベースにデータベースtestを作成し、テーブルuser、フィールド情報、username、userpwd、userxianを作成する
2.odbcデータソース接続の作成、方策略
3.データベース追加記録操作を完了するには、2つのJSPページが必要であり、1つはデータ入力ページin 1である.jspは、データ処理ページin 2である.jsp .
コードは次のとおりです.
in1.jsp
in2.jsp
一JDBCの概念
1.JDBC(Java DataBase Connectivity)は、SQL文を実行するJava APIであり、複数のリレーショナル・データベースへの統合アクセスが可能である.JAVA言語で記述されたクラスとインタフェースのセットから構成されています.JDBCは「低レベル」インタフェースで、SQLコマンドを直接呼び出すことも、その上に高度なインタフェースとツールを構築することもでき、ユーザーに優しいインタフェースを提供します.
2.JDBC APIはデータベースアクセスの2層モデルと3層モデルをサポートする.
2層モデル:クライアントプログラム<-->データベース;3層モデル:クライアントプログラム<-->中間層<-->データベース.
中間層のメリットは
3.JDBCのドライバには、JDBC-ODBCブリッジ、ローカルAPIドライバ、ネットワークプロトコルドライバ、ローカルプロトコルドライバの4種類があります.
二JDBC API紹介
a.DriverManagerを使用するgetConnection()データベースへの接続を確立します.
b.一連のDriverクラスを含み、Driverクラスには静的部分があり、このクラスインスタンスを作成し、DriverManagerを呼び出す.registerDriverは、ユーザーが直接登録方法を呼び出す必要がなく、自分を登録します.
c.Classを通過する.forName()メソッドは、Classなどのロードドライバクラスを表示します.forName("acme.db.Driver");ドライバを追加
java.lang.Systemのjdbc.driversプロパティでは、DriverManagerクラスがロードしたドライバクラス名のリストです.コロン区切りで、DriverManagerクラスを初期化すると、そのプロパティを検索してドライバをロードしようとします.DriverクラスをロードしてDriverMangerクラスに登録すると(先にロードしてから登録)、DriverManager.getConnection()が接続要求を発行した場合、DriverManagerは各ドライバをチェックし、最近のドライバ(可能なものが複数ある場合があります)とURLを接続します.URLはデータベースを示す方法を示します.URL構文:jdbc:<サブプロトコル>:<サブネーム>
のように
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//
String url="jdbc:odbc:fred";
DriverManager.getConnection(url,"userID","passwd");
b.excuteUpdate()は、insert、update、deleteなどの影響を受ける行数を返します.
c.excute()は複数の結果セットを返す
Connection con = DriverManager.getConnection(url,
"userID","passwd");
Statement stmt = con.createStatement();
ResultSet st = stmt.excuteQuery("select a,b form Table1");
注意:StatementオブジェクトはJavaゴミ回収プログラムによって自動的にシャットダウンされます.プログラミングスタイルとしてシャットダウンを表示し、DBMSリソースをタイムリーに解放する必要があります.
三応用例:JDBC-ODBC方式でアクセスアクセスアクセス
1.まずaccessデータベースにデータベースtestを作成し、テーブルuser、フィールド情報、username、userpwd、userxianを作成する
2.odbcデータソース接続の作成、方策略
3.データベース追加記録操作を完了するには、2つのJSPページが必要であり、1つはデータ入力ページin 1である.jspは、データ処理ページin 2である.jsp .
コードは次のとおりです.
in1.jsp
<%@page contentType="text/html; charset=GB2312" language="java"
import="java.io.*"%>
<html>
<body>
<center>
<h3> </h3>
<form method=post action=in2.jsp>
:<input name=username><br>
: <input type=password name=userpwd><br>
<input type=submit value=" "><input type=reset value=" ">
</form>
</center>
</body>
</html>
in2.jsp
<%@page contentType="text/html; charset=GB2312" language="java"
import="java.sql.*"%>
<%!String getS(String str) {
try {
byte b[] = str.getBytes("iso-8859-1");
str = new String(b);
} catch (Exception e) {
str = " ";
}
return str;
}%>
<%
try {
String str1 = request.getParameter("username");
String str2 = request.getParameter("userpwd");
str1 = getS(str1.trim());
str2 = getS(str2.trim());
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con1 = DriverManager.getConnection("jdbc:odbc:test");
Statement stmt1 = con1.createStatement();
stmt1
.executeUpdate("INSERT INTO user(username,userpwd) VALUES ('"
+ str1 + "','" + str2 + "')");
out.println(" ");
con1.close();
} catch (Exception e) {
}
%>