Java の様々なサンプル
        -データベース接続 Oracle (thin ドライバ編) 、PostgreSQL-
技術情報 TOP へ

ここでは、データベース ( Oracle 及び PostgreSQL ) 接続に関する簡単なサンプルを記述いたします。

Java が初めての方は、まずは、基本的な Java プログラム - 簡単な文字列の表示、数値の計算 -をご参照ください。


本サンプルで使用する java.sql.Connection や java.sql.ResultSet などの詳細については以下の、 Java API ( 5.0 ) のドキュメントを参照ください。。

Java 2 Platform Standard Edition 5.0 API 仕様



( 1 ) Oracle 10g からのデータ取得。

Oracle 10g からデータを取得します。ここでは thin ドライバを使用します。Oracle クライアントは必要ありません。

Oracle JDBC ドライバをクラスパスに設定してください。

user にはデータベースのユーザ名、pass にはパスワードを設定してください。

servername には DB サーバ名( もしくは IP アドレス )、SID には 対象の SID を設定してください。

ファイル名:DataAccess.java
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class DataAccess {
	
public static void main(String[] args) {		
	DataAccess dataAccess =new DataAccess();
	try {
		dataAccess.selectOracle();
	} catch (Exception e) {			
		e.printStackTrace();
	}
}

public void selectOracle() throws Exception{

  /* ユーザ名 */
  String user = "scott";
  /* パスワード */
  String pass = "tiger";
  /* サーバ名 */
  String servername = "servername";
  /* SID */
  String sid = "sid";

  Connection conn = null;
  Statement stmt = null;
  ResultSet rset = null; 
 
  	try {
		/* ドライバクラスのロード */
		Class.forName ("oracle.jdbc.driver.OracleDriver");
   
		/* Connectionの作成 */
		conn = DriverManager.getConnection 
		("jdbc:oracle:thin:@" + servername + ":1521:" + sid,user,pass);

		/* Statementの作成 */
		stmt = conn.createStatement();

		/* Resultsetの作成 */
		rset = stmt.executeQuery("select EMPNO from EMP");
		
		/* 取得したデータを表示します。 */
		while (rset.next()) {
			System.out.println(rset.getString(1));
		}
		
	} catch (ClassNotFoundException e) {
		throw e;		
	} catch (SQLException e) {
		throw e;	
	} catch ( Exception e){
		throw e;	
	}
	finally{			
		/* クローズ処理 */
		if(conn != null){
		  conn.close();
		  conn = null;
		}
		if(stmt != null){
		  stmt.close();	
		  stmt = null;
		}			
		if(rset != null){
		  rset.close();
		  rset = null;
		}
	 }
    }
}



( 1 ) Oracle 10g のデータ更新。

Oracle 10g のデータを更新します。ここでは thin ドライバを使用します。Oracle クライアントは必要ありません。挿入、更新、削除等の SQL を実行します。

Oracle JDBC ドライバをクラスパスに設定してください。

user にはデータベースのユーザ名、pass にはパスワードを設定してください。

servername には DB サーバ名( もしくは IP アドレス )、SID には 対象の SID を設定してください。

ファイル名:DataAccess.java
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

public class DataAccess {
	
public static void main(String[] args) {		
	DataAccess dataAccess =new DataAccess();
	try {
		dataAccess.updateOracle();
	} catch (Exception e) {
	
		e.printStackTrace();
	}
}

public void updateOracle() throws Exception{

  /* ユーザ名 */
  String user = "scott";
  /* パスワード */
  String pass = "tiger";
  /* サーバ名 */
  String servername = "servername";
  /* SID */
  String sid = "sid";

  Connection conn = null;
  Statement stmt = null;
   
  	try {
		/* ドライバクラスのロード */
		Class.forName ("oracle.jdbc.driver.OracleDriver");
   
		/* Connectionの作成 */
		conn = DriverManager.getConnection 
		("jdbc:oracle:thin:@" + servername + ":1521:" + sid,user,pass);

		/* Statementの作成 */
		stmt = conn.createStatement();

		/* 更新処理 */					
		int rec = stmt.executeUpdate
		("update EMP set JOB ='CLERK' where EMPNO='7934'");
		
		/* コミットします。 */
		conn.commit();
		
		/* 返却値を表示 */
		System.out.println("更新行数は " + rec + " 行です。");
		
	} catch (ClassNotFoundException e) {
		throw e;					
	} catch (SQLException e) {	
		/* ロールバックします。 */
		if(conn != null){
			conn.rollback();
		}
		throw e;	
	} catch ( Exception e){
		/* ロールバックします。 */
		if(conn != null){
			conn.rollback();
		}
		throw e;		
	}
	finally{	
		/* クローズ処理 */
		if(conn != null){
		  conn.close();
		  conn = null;
		}
		if(stmt != null){
		  stmt.close();	
		  stmt = null;
		}	
	}	
    }
}



( 3 ) PostgreSQL 7.4.7 からのデータ取得。

PostgreSQL 7.4.7 からデータ取得します。

PostgreSQL JDBC ドライバをクラスパスに設定してください。

user にはデータベースのユーザ名、pass にはパスワードを設定してください。

servername には DB サーバ名( もしくは IP アドレス )、dbname には 対象の データベース名を設定してください。

ファイル名:DataAccess.java
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class DataAccess {
	
public static void main(String[] args) {		
	DataAccess dataAccess =new DataAccess();
	try {
		dataAccess.selectPostgre();
	} catch (Exception e) {			
		e.printStackTrace();
	}
}

public void selectPostgre() throws Exception{

  /* ユーザ名 */
  String user = "user";
  /* パスワード */
  String pass = "pass";
  /* サーバ名 */
  String servername = "servername";
  /* データベース名 */
  String dbname = "dbname";

  Connection conn = null;
  Statement stmt = null;
  ResultSet rset = null;
 
  	try {
		/* ドライバクラスのロード */
		Class.forName ("org.postgresql.Driver");
   
		/* Connectionの作成 */
		conn = DriverManager.getConnection 
		("jdbc:postgresql://" + servername + ":5432/" + dbname,user,pass);

		/* Statementの作成 */
		stmt = conn.createStatement();

		/* Resultsetの作成 */
		rset = stmt.executeQuery("select Id from TEST");
		
		/* 取得したデータを表示します。 */
		while (rset.next()) {
			System.out.println(rset.getString(1));
		}
		
	} catch (ClassNotFoundException e) {
		throw e;					
	} catch (SQLException e) {
		throw e;					
	} catch ( Exception e){
		throw e;	
	}
	finally{	
		/* クローズ処理 */
		if(conn != null){
		  conn.close();
		  conn = null;
		}
		if(stmt != null){
		  stmt.close();	
		  stmt = null;
		}			
	   	if(rset != null){
		  rset.close();
		  rset = null;	
		}
	}	
    }
}



( 3 ) PostgreSQL 7.4.7 のデータ更新。

PostgreSQL 7.4.7 のデータを更新します。挿入、更新、削除等の SQL を実行します。

PostgreSQL JDBC ドライバをクラスパスに設定してください。

user にはデータベースのユーザ名、pass にはパスワードを設定してください。

servername には DB サーバ名( もしくは IP アドレス )、dbname には 対象の データベース名を設定してください。

ファイル名:DataAccess.java
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

public class DataAccess {
	
public static void main(String[] args) {		
	DataAccess dataAccess =new DataAccess();
	try {
		dataAccess.updatePostgre();
	} catch (Exception e) {	
		e.printStackTrace();
	}
}

public void updatePostgre() throws Exception{

  /* ユーザ名 */
  String user = "user";
  /* パスワード */
  String pass = "pass";
  /* サーバ名 */
  String servername = "servername";
  /* データベース名 */
  String dbname = "dbname";

  Connection conn = null;
  Statement stmt = null; 
 
  	try {
		/* ドライバクラスのロード */
		Class.forName ("org.postgresql.Driver");
   
		/* Connectionの作成 */
		conn = DriverManager.getConnection 
		("jdbc:postgresql://" + servername + ":5432/" + dbname,user,pass);

		/* Statementの作成 */
		stmt = conn.createStatement();

		/* 更新処理 */					
		int rec = stmt.executeUpdate
		("update TEST set name ='test' where id='010'");
		
		/* コミットします。 */
		conn.commit();
		
		/* 返却値を表示 */
		System.out.println("更新行数は " + rec + " 行です。");
		
	} catch (ClassNotFoundException e) {
		throw e;					
	} catch (SQLException e) {
		/* ロールバックします。 */
		if(conn != null){
			conn.rollback();
		}
		throw e;	
	} catch ( Exception e){
		/* ロールバックします。 */
		if(conn != null){
			conn.rollback();
		}
		throw e;		
	}
	finally{				
		/* クローズ処理 */
		if(conn != null){
		  conn.close();
		  conn = null;
		}
		if(stmt != null){
		  stmt.close();	
		  stmt = null;
		}			
	}
    }
}
技術情報 TOP へ


Google
WWW を検索 whitemark.co.jp を検索
[ 株式会社ホワイトマーク TOP ]   [ 免責事項 ]

Copyright © 2006 by WhiteMark, All rights Reserved. Last Modified: 2006/05