oracle JDBC接続データベース
6035 ワード
一:JDBCとは何か
JDBCフルネーム:java database connectivityは、sun社が提供するJava接続データベースの標準仕様です.
二:データベースの接続方法
データベースへの接続には5つのステップがあります.
1.ロードドライバ
2.データベースへの接続
3.sql文を実行するオブジェクトの作成
4.sql文の実行
5.処理された結果セット(クエリ文のみ)
6.リソースのクローズ
1.ロードドライバ
2.データベースへの接続
ドライバをロードすると、DriverManagerのgetConnectionメソッドでデータベースへの接続が得られます.
最初のパラメータ:jdbcとデータベース接続のプロトコル、最初の統一はjdbc、2番目のデータベースの名前、3番目のoracleデータベースは、mysqlデータベースはありません.4番目はipアドレス、ポート番号、データベースフラグです.
2番目のパラメータ:ユーザー名
3番目のパラメータ;パスワード
データベースの接続には3つの方法があります.
2つ目はpropertiesクラスを使用し、プロファイルを格納できます.
第三の方法
このurlのフォーマットは
3.sql文を実行するオブジェクトを得る
sql文を実行するオブジェクトはstatementです
4.sql文の実行
5.結果セットを取得し、結果を処理する(クエリ文の場合)
私たちが得た結果セットは、ポインタに相当するもので、最初は最初の行の前列を指しています.
6.リソースのクローズ
全体のコードは次のとおりです.
三:最適化コード
1.基本最適化
JDBCフルネーム:java database connectivityは、sun社が提供するJava接続データベースの標準仕様です.
二:データベースの接続方法
データベースへの接続には5つのステップがあります.
1.ロードドライバ
2.データベースへの接続
3.sql文を実行するオブジェクトの作成
4.sql文の実行
5.処理された結果セット(クエリ文のみ)
6.リソースのクローズ
1.ロードドライバ
Class.forName("oracle.jdbc.driver.OracleDriver");
2.データベースへの接続
ドライバをロードすると、DriverManagerのgetConnectionメソッドでデータベースへの接続が得られます.
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:ORCL","scott","123456");
最初のパラメータ:jdbcとデータベース接続のプロトコル、最初の統一はjdbc、2番目のデータベースの名前、3番目のoracleデータベースは、mysqlデータベースはありません.4番目はipアドレス、ポート番号、データベースフラグです.
2番目のパラメータ:ユーザー名
3番目のパラメータ;パスワード
データベースの接続には3つの方法があります.
2つ目はpropertiesクラスを使用し、プロファイルを格納できます.
getConnection(String url, Properties info)
メソッドを使用してconnectionオブジェクトを取得 public static Connection getConnection() throws ClassNotFoundException,
SQLException{
Properties info=new Properties();
Class.forName("oracle.jdbc.driver.OracleDriver");
info.setProperty("user", "scott");
info.setProperty("password", "123456");
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:ORCL",info);
return conn;
}
第三の方法
getConnection(String url)
所与のデータベースURLへの接続を確立しようとする.このurlのフォーマットは
jdbc:oracle:<drivertype>:<user>/<password>@<database>
です.public static Connection getConnection() throws ClassNotFoundException,
SQLException{
Properties info=new Properties();
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:scott/123456@localhost:1521:ORCL");
return conn;
}
3.sql文を実行するオブジェクトを得る
sql文を実行するオブジェクトはstatementです
Statement stmt=conn.createStatement();
4.sql文の実行
stmt.execute("select ename,job from emp where empno=7839");
5.結果セットを取得し、結果を処理する(クエリ文の場合)
私たちが得た結果セットは、ポインタに相当するもので、最初は最初の行の前列を指しています.
ResultSet rs=stmt.getResultSet();
while(rs.next()){
System.out.println(rs.getObject("ename"));
System.out.println(rs.getObject("job"));
}
6.リソースのクローズ
rs.close();
stmt.close();
conn.close();
全体のコードは次のとおりです.
package testjdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class TestJdbc {
public static void main(String[] args) throws SQLException,
ClassNotFoundException {
// TODO Auto-generated method stub
// 1.
Class.forName("oracle.jdbc.driver.OracleDriver");
// 2.
Connection conn = DriverManager.getConnection(
"jdbc:oracle:thin:@localhost:1521:ORCL", "scott", "123456");
// 3.
Statement stmt = conn.createStatement();
// 4. sql
stmt.execute("select ename,job from emp where empno=7839");
// 5.
ResultSet rs = stmt.getResultSet();
while (rs.next()) {
System.out.println(rs.getObject("ename"));
System.out.println(rs.getObject("job"));
}
// 6.
rs.close();
stmt.close();
conn.close();
}
}
三:最適化コード
1.基本最適化
Statement executeQuery , , 。
ResultSet rs = stmt.executeQuery("select ename,job from emp where empno=7839");
DMl , statement executeupdate
int b= stmt2.executeUpdate("insert into emp(empno,ename) values(1104,' ')");
System.out.println(b);
2.
sql , sql , , , , , 。
PreparedStatement
statementインタフェースが され、sql がPreparedStatement , sql 。
でプリコンパイルされることができる.
PreparedStatement stmt = conn
.prepareStatement("select ename,job from emp where empno=?");
// , , , stmt set ,set
stmt.setInt(1, 7839);
//
stmt.execute();
:
package testjdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class TestJdbc {
public static void main(String[] args) throws SQLException,
ClassNotFoundException {
// TODO Auto-generated method stub
// 1.
Class.forName("oracle.jdbc.driver.OracleDriver");
// 2.
Connection conn = DriverManager.getConnection(
"jdbc:oracle:thin:@localhost:1521:ORCL", "scott", "123456");
// 3.
PreparedStatement stmt = conn
.prepareStatement("select ename,job from emp where empno=?");
// , , , stmt set ,set
stmt.setInt(1, 7839);
//
stmt.execute();
//
ResultSet rs = stmt.getResultSet();
while (rs.next()) {
System.out.println(rs.getObject("ename"));
System.out.println(rs.getObject("job"));
}
// 6.
rs.close();
stmt.close();
conn.close();
}
}