JDBC接続Oracle
2842 ワード
仕事の中で、私达の出会った操作のデータベースのコードはすべてカプセル化して、今日私达は见てみて、最も基本的なのはJDBCを利用してデータベースを操作します.
JDBC接続データベースには主に3つのステップがあります.
ステップ1:データベースドライバをロードします.通常はClassを使います.forNameスタティックメソッドでドライバをロードします.
ステップ2:DriverManagerでデータベース接続を取得します.
ステップ3:ConnectionでStatementオブジェクトを作成し、ConnectionでStatementオブジェクトを作成する方法は3つあります. createStatement():基本的なStatementオブジェクトを作成する prepareStatement(String sql):入力されたSQL文に基づいてプリコンパイルされたStatementオブジェクトを作成します. prepareCall(String sql):入力されたSQL文に基づいてCallableStatementオブジェクト を作成します.
ステップ4:Statementを使用してSQL文を実行します.すべてのStatemetオブジェクトには、SQL文を実行するための3つの方法があります. execute:SQL文は任意に実行できますが、面倒です. executeUpate:主にDML文とDDL文を実行するために使用されます.DMLを実行するとSQL文の影響を受けた行数が返され、DDLを実行すると0が返されます. executeQuery:クエリー文のみが実行され、実行後にクエリー結果を表すResultSetオブジェクトが返されます.
手順5:結果セットを操作します.SQL文がクエリ文である場合、SQL文クエリの結果が保存されたResultSetオブジェクトが返されます.このResultSetを操作することで、クエリの結果を取り出すことができます.ResultSetオブジェクトには、主に2つの方法があります. next、previous、first、last、beforeFirst、afterLast、absoluteなどの記録ポインタを移動する方法. getXXXレコードポインタが行、特定の列を指す値を取得します.この方法は、カラムインデックスをパラメータとして使用するか、カラム名をパラメータとして使用することができます.カラムインデックスをパラメータとして使用すると、よりパフォーマンスが向上し、カラム名をパラメータとして使用すると、より読みやすさが向上します.
次のコードは、基本的に上記のことを説明しています.
JDBC接続データベースには主に3つのステップがあります.
ステップ1:データベースドライバをロードします.通常はClassを使います.forNameスタティックメソッドでドライバをロードします.
ステップ2:DriverManagerでデータベース接続を取得します.
ステップ3:ConnectionでStatementオブジェクトを作成し、ConnectionでStatementオブジェクトを作成する方法は3つあります.
ステップ4:Statementを使用してSQL文を実行します.すべてのStatemetオブジェクトには、SQL文を実行するための3つの方法があります.
手順5:結果セットを操作します.SQL文がクエリ文である場合、SQL文クエリの結果が保存されたResultSetオブジェクトが返されます.このResultSetを操作することで、クエリの結果を取り出すことができます.ResultSetオブジェクトには、主に2つの方法があります.
次のコードは、基本的に上記のことを説明しています.
package jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class ConnOracle {
public static void main(String[] args) {
// URL、 、
String url="jdbc:oracle:thin:@127.0.0.1:1521:orcl";
String user="scott";
String password="yulei123";
try {
//1. ,
Class.forName("oracle.jdbc.driver.OracleDriver");
/*
* DriverManager
* Connection JAVA
* URL , 、 DBA
*/
Connection conn=DriverManager.getConnection(url, user, password);
// Connection Statement
Statement stmt=conn.createStatement();
// SQL
/*
* Statement SQL
* 1、execute SQL -- boolean
* , ResultSet, true, false
* 2、executeQuery select --
* 3、executeUpdate DML 。--- , SQL
*/
String sql="select e.* from emp e";
ResultSet rs=stmt.executeQuery(sql);
//ResultSet GetXXX( || ), 、
// next , ,
while(rs.next()){
//
System.out.println(" :"+rs.getInt(1)+"\t :"+rs.getString(2));
//
System.out.println(" :"+rs.getInt("empno"));
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
}