Java Web学習ノート---3(JDBC)


JDBCはJava Webアプリケーションの開発における主要なAPIの一つである、データベースへのアクセスを担当し、さらにデータベースへのアクセスを行う際にjavaアプリケーションがまずJDBC APIを呼び出し、その後アクセス文をJDBCドライブに提出してデータベースへのアクセスを実現する.
    JDBCは主に2つのパッケージを含む:java.sqlとjavax.sql、彼らはほとんどデータベースから独立している.java.sqlは主に基本的なデータベースプログラミングサービス、例えば接続、実行文.javax.sqlは主にデータベースの高度な操作にインタフェースとクラスを提供し、コンテナ管理の接続プールと分布式事物などを導入した.
    JDBCパッケージ自体はデータベースに接続することができなくて、それはただ1つのAPIフレームワークで、データベースドライバあるいはその他のパッケージを通じて方法を提供する必要がある.JDBCデータベースドライバは主にJDBC-ODBCブリッジドライバ、一部のネイティブAPIのJavaドライバと純Javaドライバがある.
JDBC APIのコアコンポーネントには、DriverManagerクラス、Connectionインタフェース、Statementインタフェース、ResultSetインタフェースがある.
DriverManagerクラスは、JDBCドライバを追跡するデータベース接続を生成するために使用される.
Connectionインタフェースは、データベース情報を取得する、データベース文を生成し、データベース接続を管理するためのものである.
Statementインタフェースは末端接続でSQL文を実行し、結果セットを生成する.
ResultSetインタフェースは、SQL文から返すデータにアクセスするためのもので、結果を読み取る際にnext()メソッドを使用して各行のデータを定義get()メソッドでデータを読み出すことができる.
    データベースにアクセスするには、まずドライブをマウントします.
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");

次にDriverManagerクラスからConnectionオブジェクト接続データベースを生成する.
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=master";
Connection con = DriverManager.getConnection(url,"gyk","1234");

データベース接続が確立された後、StatementとPreparedStatementオブジェクトによってデータベースにアクセスすることができる.Statementオブジェクトは簡単なクエリー文を実行することを許可し、executeQuery()メソッドは簡単な選択クエリー文を実行し、ResultSetオブジェクトを返し、executeUpdate()メソッドはINSERT、UPDATE、DELETE文を実行し、int値を返し、クエリーの影響を受ける行数を与える.
Statement stmt=con.createStatement();
ResultSet rs=(ResultSet) stmt.executeQuery("SELECT*FROM customer");

PreparedStatementオブジェクトでは、パラメータ化されたクエリーを実行できます.

String sql = "SELECT*FROM customer where id=?";
PreparedStatement ps = con.prepareStatement(sql);
ps.setString(1,"111");
ResultSet rs = ps.executeQuery();

クエリの結果は一般にResultSetに封入する、next()やgetXXX()などの方法でデータを読み取ることができる.