この記事では、Java開発のJDBCに基づいてデータベースに接続する方法について説明します。次のように、参照のために共有してください。
JDBCを使用してデータベースに接続するプログラムを作成します。これには、7つのステップが含まれています。
1。JDBCドライバーをロードします。
データベースに接続する前に、最初にJVM(Java仮想マシン)に接続するデータベースのドライバーをロードする必要があります。これは、java.lang.classクラスの静的メソッド(String className)を使用して実装されています。
例えば:
try {// mysqlのドライバークラスclass.forname( "com.mysql.jdbc.driver");} catch(classNotFoundException e){system.out.println( "ドライバークラスが見つかりません、ドライバーの読み込みが失敗しました!" ); e.printstacktrace();}読み込みが成功した後、ドライバークラスのインスタンスがDrivermanagerクラスに登録されます。
2。JDBC接続のURLを提供します
接続URLは、データベースに接続するときにプロトコル、サブプロトコル、およびデータソース識別子を定義します。
作成フォーム:プロトコル:サブプロトコル:データソース識別プロトコル:JDBCでは、常にJDBCで開始します。
データソース識別:データベースソースが見つかったアドレスと接続ポートにタグを付けます。
例:( mysqlの接続URL)
JDBC:mysql:
// localhost:3306/test?useunicode = true&charatereCoding = gbk;
useunicode = true:unicode文字セットを使用して意味します。キャラクターエンコードがに設定されている場合
GB2312またはGBK、このパラメーターはtrueに設定する必要があります。キャラクターエンコード= GBK:文字エンコードメソッド。
3.データベース接続を作成します
データベースに接続するには、java.sql.drivermanagerを要求し、データベースへの接続を表す接続オブジェクトを取得する必要があります。
DriverManagerのgetConnectin(String URL、String Username、String Password)メソッドを使用して、指定されたデータベースパス、データベースユーザー名、およびパスワードに渡して、取得するために接続します。
例えば:
// MySQLデータベースを接続すると、ユーザー名とパスワードはRootString url = "JDBC:mysql:// localhost:3306/test"; string username = "root"; string password = "root"; try {connecti oncon = drivermanagerer .getConnection(url、username、password);} catch(sqlexception se){system.out.println( "データベース接続に失敗!"); se.printstacktrace();}4。ステートメントを作成します
SQLステートメントを実行するには、java.sql.Statementインスタンスを取得する必要があります
タイプ:
1。静的SQLステートメントを実行します。通常、ステートメントインスタンスを通じて実装されます。
2。動的SQLステートメントを実行します。通常、準備されたステートメントインスタンスを介して実装されます。
3。データベースストアドプロシージャを実行します。通常、callablestatementインスタンスを介して実装されます。
特定の実装方法:
ステートメントstmt = con.createstatement(); preated -statement pstmt = con.preparestatement(sql); callablestatement cstmt = con.preparecall( "{call demosp(?、?)}");5。SQLステートメントを実行します
ステートメントインターフェイスは、SQLステートメントを実行する3つの方法を提供します:ExecuteQuery、ExecuteUpdate、および実行
1。LesultSetExecuteQuery(String SQLString):SQLステートメントを実行してデータベースをクエリし、結果セット(ResultSet)オブジェクトを返します。
2。IntExecuteUpdate(String SQLString):挿入、更新、または削除ステートメントおよびSQL DDLステートメントを実行するために使用されます。
3。Execute(SQLString):複数の結果セット、複数の更新カウント、または両方の組み合わせを返すステートメントを実行するために使用されます。
特定の実装コード:
resultet rs = stmt.executequery( "select * from ..."); int rows = stmt.executeupdate( "Inserting Into ..."); boolean flag = stmt.execute(string sql);
6。結果の処理
2つの状況:
1.更新の実行は、この操作の影響を受けるレコードの数を返します。
2。クエリを実行して返される結果は、結果セットオブジェクトです。
結果セットには、SQLステートメントの条件を満たすすべての行が含まれており、GETメソッドのセットを通じてこれらの行のデータへのアクセスを提供します。
結果セット(結果セット)オブジェクトのアクセス方法を使用して、データを取得します。
while(rs.next()){string name = rs.getString( "name")rs.getString(1);(列には左から右に番号が付けられ、列1から開始されます)
7。JDBCオブジェクトを閉じます
操作が完了した後、すべての使用されたJDBCオブジェクトを閉じて、閉鎖の順序と宣言を逆転させる必要があります。
1.レコードセットを閉じます
2。閉じる声明
3.接続オブジェクトを閉じます
if(rs!= null){//レコードセットを閉じるtry {rs.close();} catch(sqlexception e){e.printstacktrace();}} if(stmt!= null){//宣言を閉じる{stmt.close();} catch(sqlexception e){e.printstacktrace();}} if(conn!= null){//接続オブジェクトを閉じる{conn.close(); ){e .printstacktrace();サプリメント:Oracleデータベースの例へのJDBC接続の例
java.sql.connection; Import java.sql.drivermanager; Import java.sql.Resultset; Import java.sqlecception; Import java.sql.Statement; public class testoracle {public static bid main [String [] args) {Connection Conn = null; Oracle:Thin:@LocalHost:1521:OAR92 "; //@localhostはサーバー名、SJZWishはデータベースインスタンス名conn = drivermanager.getConnection(url、" guchao "、" jimmy "); //データベースを接続します。テーブルアカウントを生成するaは、パスワードstmt = conn.createStatement(); // sqlステートメントを送信し、sqlステートメントをデータベースに送信するステートメントオブジェクトを作成します// executequery rs = stmt.executequery( " select * from ruby "); //クエリを実行します(ruby)はテーブル名ですwhile(rs.next()){//レコードセットSystem.out.println( rs.getString( "sid") + "" + rs.getString( "sname")); // 2は、現在のレコードの2番目のフィールドの値を表し、フィールド名として書くことができます。 // executeUpdateを使用してデータを追加しますCheung 'where id = 5 "); // executeUpdate //stmt.executeUpdate(ss from ss where id = 6");} catch(sqlexStacktrace();} catch(classNot MesondException(ssception))でデータを削除します。 e){e。 printStackTrace();この記事がみんなのJavaプログラミングに役立つことを願っています。