HOME > SELECT文サンプル
SELECT文サンプル
JDBCを使用してデータベースからデータを検索(SELECT)するサンプルです。
以下のサンプルでは、Oracleデータベースを対象としています。
サンプルコード
接続するデータベース情報は以下の通りとします。
<DB情報>
・データベース:オラクル
・IP:127.0.0.1(localhost)
・ポート番号:1521
・SID:testdb
・ログインID:user01
・ログインパスワード:password
<対象テーブル>
- 「USER_MASTER」テーブルを検索(SELECT)するサンプル
-
import java.sql.DriverManager; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; public class DBSelectSample { public static void main(String[] args) throws Exception{ //変数定義 Connection conn = null; PreparedStatement ps = null; ResultSet rs = null; //DB接続情報を設定する String path = "jdbc:oracle:thin:@127.0.0.1:1521:testdb"; //接続パス String id = "user01"; //ログインID String pw = "password"; //ログインパスワード //SQL文を定義する String sql = "SELECT * FROM user_master WHERE no >= ?"; try{ //JDBCドライバをロードする Class.forName("oracle.jdbc.driver.OracleDriver"); //DBへのコネクションを作成する conn = DriverManager.getConnection(path, id, pw); //実行するSQL文とパラメータを指定する ps = conn.prepareStatement(sql); ps.setString(1, "2"); //SELECTを実行する rs = ps.executeQuery(); //こんなふうにカラム数なども取得できちゃう int colCount = rs.getMetaData().getColumnCount(); System.out.println("取得したカラム数:" + colCount); //取得した結果を全件出力する while(rs.next()){ System.out.print(rs.getInt("NO")); System.out.print("/" + rs.getString("NAME")); System.out.print("/" + rs.getString("ADDRESS")); System.out.print("/" + rs.getString("TEL")); System.out.println(); } }catch(Exception ex){ //例外発生時の処理 ex.printStackTrace(); //エラー内容をコンソールに出力する }finally{ //クローズ処理 if(rs != null) rs.close(); if(ps != null) ps.close(); if(conn != null) conn.close(); } } }
- 実行結果
- C:\>java -cp ./;ojdbc14.jar DBSelectSample 取得したカラム数:4 2/山田次郎/大阪府大阪市/06-9999-9999 3/山田三郎/愛知県名古屋市/054-999-9999
事前にオラクルのJDBCドライバを用意しておく必要があります。
(ここの例では「ojdbc14.jar」)
主要メソッド
戻値型 | メソッド | 説明 |
---|---|---|
void | setString(int a, String b) | a番目の「?」にbをString型でセットする |
void | setInt(int a, int b) | a番目の「?」にbをint型でセットする |
void | setLong(int a, long b) | a番目の「?」にbをlong型でセットする |
void | setFloat(int a, float b) | a番目の「?」にbをfloat型でセットする |
void | setDouble(int a, double b) | a番目の「?」にbをdouble型でセットする |
void | setDate(int a, Date b) | a番目の「?」にbをjava.sql.Date型でセットする |
void | setBoolean(int a, boolean b) | a番目の「?」にbをboolean型でセットする |
void | clearParameters() | 全てのパラメータをクリアする |
ResultSet | executeQuery() | SELECT文を実行する |
int | executeUpdate() | UPDATE, INSERT, DELETE,ストアドを実行する |
戻値型 | メソッド | 説明 |
---|---|---|
String | getString(int i) | レコードのi番目の値をString型で取得する |
int | getInt(int i) | レコードのi番目の値をint型で取得する |
double | getDouble(int i) | レコードのi番目の値をdouble型で取得する |
Date | getDate(int i) | レコードのi番目の値をjava.sql.Date型で取得する |
boolean | getBoolean(int i) | レコードのi番目の値をboolean型で取得する |
void | close() | ResultSetを解放する |
int | getRow() | 現在の行番号を返す |
void | next() | カーソルを1つ進める |
void | previous() | カーソルを1つ戻す |
boolean | first() | カーソルを先頭行に位置付ける |
boolean | last() | カーソルを最終行に位置付ける |
boolean | absolute(int i) | カーソルをi行目に位置付ける |
boolean | isLast() | カーソルが先頭行にあるかどうかを返す |
boolean | isFirst() | カーソルが最終行にあるかどうかを返す |
boolean | isClosed() | カーソルがクローズされているかどうかを返す |
ResultSet MetaData | getMetaData() | ResultSetMetaDataを取得する このメタデータから検索結果に関するいろいろな情報が取得できる |
戻値型 | メソッド | 説明 |
---|---|---|
int | getColumnCount() | カラムの数を返す |
String | getColumnName(int i) | i番目のカラム名を返す |
int | getColumnDisplaySize(int i) | i番目のカラムのサイズを返す |
int | getColumnType(int i) | i番目のカラムの型を返す (java.sql.Types) |
データベースカテゴリ