English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
この章では、JDBCアプリケーションを使用してテーブルからレコードを選択する方法についての例を提供しています。WHERE子句を使用して追加の条件を追加してテーブルからレコードを選択する場合、以下の例を実行する前に、以下の条件を確認してください:
以下の例を実行するには、以下をユーザー名そしてパスワード実際のユーザー名とパスワードに置き換えてください。
あなたのMySQLまたは使用している他のデータベースが起動して動作していることを確認してください。
JDBCアプリケーションを使用して新しいデータベースを作成するには、以下の手順を実行する必要があります-
パッケージをインポートする:データベースプログラミングに必要なJDBCクラスを含むパッケージを含める必要があります。通常、以下を使用 import java.sql.* それで十分です。
JDBCドライバを登録: データベースとの通信チャネルを開くために、ドライバを初期化する必要があります。
接続を確立する:使用する必要があります DriverManager.getConnection() メソッドを使用してConnectionオブジェクトを作成します。このオブジェクトはデータベースサーバとの物理的な接続を表します。
クエリを実行:SQLステートメントのオブジェクトを使用してSQL文を構築および提出し、指定された条件を満たすレコードをテーブルから取得するために、以下のクエリを使用WHERE子句でレコードを選択
環境のクリーンアップ: すべてのデータベースリソースを明示的に閉じる必要があります。JVMのゴミ収集に依存するのではなく。
以下の例をJDBCExample.javaにコピーして貼り付け、以下のようにコンパイルおよび実行してください-
//ステップ1.必要なソフトウェアパッケージをインポート import java.sql.*; public class JDBCExample { // JDBCドライバ名とデータベースURL static final String JDBC_DRIVER = "com.mysql.jdbc.Driver"; static final String DB_URL = "jdbc:mysql://localhost/STUDENTS"; // データベースの証明書 static final String USER = "username"; static final String PASS = "password"; public static void main(String[] args) { Connection conn = null; Statement stmt = null; try{ //ステップ2:JDBCドライバを登録 Class.forName("com.mysql.jdbc.Driver"); //ステップ3:接続を確立 System.out.println("Connecting to a selected database..."); conn = DriverManager.getConnection(DB_URL, USER, PASS); System.out.println("Connected database successfully..."); //ステップ4:クエリを実行 System.out.println("Creating statement..."); stmt = conn.createStatement(); // 無条件にレコードを抽出。 System.out.println("Fetching records without condition..."); String sql = "SELECT id, first, last, age FROM Registration"; ResultSet rs = stmt.executeQuery(sql); while(rs.next()){ //列名で検索 int id = rs.getInt("id"); int age = rs.getInt("age"); String first = rs.getString("first"); String last = rs.getString("last"); //表示値 System.out.print("ID: " + id); System.out.print(", Age: " + age); System.out.print(", First: " + first); System.out.println(", Last: " + last); } // IDがまたは大きい選択101のレコード System.out.println("Fetching records with condition..."); sql = "SELECT id, first, last, age FROM Registration"; + " WHERE id >= 101 "; rs = stmt.executeQuery(sql); while(rs.next()){ //列名で検索 int id = rs.getInt("id"); int age = rs.getInt("age"); String first = rs.getString("first"); String last = rs.getString("last"); //表示値 System.out.print("ID: " + id); System.out.print(", Age: " + age); System.out.print(", First: " + first); System.out.println(", Last: " + last); } rs.close(); }catch(SQLException se){ //JDBCエラーを処理 se.printStackTrace(); catch(Exception e){ //Class.forNameのエラーを処理 e.printStackTrace(); }finally{ //リソースの閉じるため try{ if(stmt!=null) conn.close(); }catch(SQLException se){ }// 何もしない try{ if(conn!=null) conn.close(); }catch(SQLException se){ se.printStackTrace(); } } System.out.println("さようなら!"); } }//JDBCExampleを終了
次に、上記の例を以下のようにコンパイルします:
C:\>javac JDBCExample.java C:\>
実行時JDBCExample以下のような結果が生成されます-
C:\>java JDBCExample 選択されたデータベースに接続しています... データベースに接続成功... ステートメントの作成... 条件なしでレコードを取得しています... ID: 100, Age: 30, First: Zara, Last: Ali ID: 102, Age: 30, First: Zaid, Last: Khan ID: 103, Age: 28, First: Sumit, Last: Mittal 条件付きでレコードを取得しています... ID: 102, Age: 30, First: Zaid, Last: Khan ID: 103, Age: 28, First: Sumit, Last: Mittal さようなら! C:\>