JAVA操作ORACLEデータベース
JAVAでデータベースを操作して、内部は直接使うことができるクラスがなくて、だから必ず外部のjarパッケージを導入しなければならなくて、まずネット上で1つのjdbcのパッケージをダウンロードして、それを必要としてデータベースの操作を行うjava工事に追加して、このようにJAVAでjdbcを使ってデータベースを操作することができます..
以上の準備が完了すると、JAVAプログラムとデータベースの接続を実現するには、次の手順に従います.
1.ロード駆動クラス:ClassクラスでforName()メソッドを呼び出し、メソッド内のパラメータはOracleDriverというjdbcパッケージ内のクラスの相対パスである.
2.接続文字列の定義:jdbc:oracle:thin:@IPアドレス:1521:ORCL(1521はORACLEのデフォルトポート)
3.データベースに接続し、接続先conn:Connection conn=DriverManager.getConnection(url、ユーザー名、パスワード)を取得する.
4.データベースSQL言語のコンパイルと実行オブジェクトを取得する:接続オブジェクトconnはcreateStatement()メソッドを呼び出し、Statementオブジェクトstmを得る.
5.結果セットオブジェクトの取得(クエリー操作):ResultSet rs=stm.executeQuery(sql);その中のsqlパラメータは1つの文字列で、内容は私たちがデータベースの中で操作するよく使うSQL言語で、得た結果セットは私たちが直接データベースの中でこのsql文を実行して得た結果セットです.
(添削を行うには物事の概念が絡んでいるため、javaではデフォルト設定を変更しないとSQL文が1文実行されるたびにデータベースに直接コミットされて保存されるので、このデフォルトを変更し、データベースに対する操作を保存したいときに保存し、conn.settAutoCommit(false)を使用します;自動コミットしない状態に設定...コミットしたい場合はconn.commit()を使用し、データベースデータを更新します.
6.修正操作:int num=stm.executeUpdate(sql 1);ここで返されるintは、SQL文sql 1の影響で変化したデータの行数となる.
コード:
以上の準備が完了すると、JAVAプログラムとデータベースの接続を実現するには、次の手順に従います.
1.ロード駆動クラス:ClassクラスでforName()メソッドを呼び出し、メソッド内のパラメータはOracleDriverというjdbcパッケージ内のクラスの相対パスである.
2.接続文字列の定義:jdbc:oracle:thin:@IPアドレス:1521:ORCL(1521はORACLEのデフォルトポート)
3.データベースに接続し、接続先conn:Connection conn=DriverManager.getConnection(url、ユーザー名、パスワード)を取得する.
4.データベースSQL言語のコンパイルと実行オブジェクトを取得する:接続オブジェクトconnはcreateStatement()メソッドを呼び出し、Statementオブジェクトstmを得る.
5.結果セットオブジェクトの取得(クエリー操作):ResultSet rs=stm.executeQuery(sql);その中のsqlパラメータは1つの文字列で、内容は私たちがデータベースの中で操作するよく使うSQL言語で、得た結果セットは私たちが直接データベースの中でこのsql文を実行して得た結果セットです.
(添削を行うには物事の概念が絡んでいるため、javaではデフォルト設定を変更しないとSQL文が1文実行されるたびにデータベースに直接コミットされて保存されるので、このデフォルトを変更し、データベースに対する操作を保存したいときに保存し、conn.settAutoCommit(false)を使用します;自動コミットしない状態に設定...コミットしたい場合はconn.commit()を使用し、データベースデータを更新します.
6.修正操作:int num=stm.executeUpdate(sql 1);ここで返されるintは、SQL文sql 1の影響で変化したデータの行数となる.
コード:
public class DBUtil {
public static void main(String[] args) {
try {
//
Class.forName("oracle.jdbc.driver.OracleDriver");
//
String url = "jdbc:oracle:thin:@127.0.0.1:1521:ORCL";
// ,
Connection conn = DriverManager.getConnection(url, "scott", "scott");
System.out.println(conn);
// SQL
Statement stm = conn.createStatement();
//___________________________________________________________________________
// SQL
String sql = "select empno,ename,sal,comm from emp";
// SQL ,
ResultSet rs = stm.executeQuery(sql);
//
while(rs.next()){// ,
int empno = rs.getInt("empno");
String ename = rs.getString("ename");
float sal = rs.getFloat("sal");
float comm = rs.getFloat("comm");
System.out.println(empno+"\t"+ename+"\t"+sal+"\t"+comm);
}
//___________________________________________________________________________
//
conn.setAutoCommit(false);
try{
// SQL
String sql1 = "update emp set sal=1200.00 where ename='SMITH'";
// SQL , int,
int num = stm.executeUpdate(sql1);
System.out.println(num+" ");
//___________________________________________________________________________
// SQL
String sql2 = "update emp set sal=1300.00 where ename='ADAMS'";
// SQL , int,
int num2 = stm.executeUpdate(sql2);
System.out.println(num+" ");
//
conn.commit();
}catch(Exception e){
conn.rollback();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}