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の影響で変化したデータの行数となる.
コード:
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();
		}
		
		
		
	}
	
	
}