ホームページ Java &#&チュートリアル データベースへの JDBC 接続の詳細な説明と例、および Java での手順

データベースへの JDBC 接続の詳細な説明と例、および Java での手順

Feb 28, 2017 pm 03:37 PM

JDBC データベース接続コードと Java の手順の詳細な説明

JDBC 接続データベース

•7 つの手順を含む、JDBC でデータベースに接続するプログラムを作成します。

1. JDBC ドライバーをロードします。

データベースに接続する前に、まず JVM (Java 仮想マシン) に接続するデータベースのドライバーをロードする必要があります。これは、java.lang の静的メソッド forName(String className) によって実現されます。クラスクラス。例:


  try{  
  //加载MySql的驱动类  
  Class.forName("com.mysql.jdbc.Driver") ;  
  }catch(ClassNotFoundException e){  
  System.out.println("找不到驱动程序类 ,加载驱动失败!");  
  e.printStackTrace() ;  
  }
ログイン後にコピー


ロードが成功すると、Driver クラスのインスタンスが DriverManager クラスに登録されます。


2. JDBC 接続用の URL を指定します

•接続 URL は、データベースに接続するときのプロトコル、サブプロトコル、およびデータ ソース ID を定義します。
•記述形式: プロトコル: サブプロトコル: データソース識別子


プロトコル: JDBC では常に jdbc で始まります

サブプロトコル: ブリッジ接続のドライバーまたはデータベース管理システムの名前。

データ ソースの識別: データベース ソースが見つかったアドレスと接続ポートをマークします。

例: (MySql接続URL)


 jdbc:mysql:  
    //localhost:3306/test?useUnicode=true&characterEncoding=gbk ;
ログイン後にコピー


useUnicode=true: Unicode文字セットを使用することを示します。 CharacterEncoding が gb2312 または GBK に設定されている場合、このパラメータは true に設定する必要があります。 CharacterEncoding=gbk: 文字エンコード方式。


3. データベース接続を作成します


•データベースに接続するには、データベース接続を表す java.sql.DriverManager から Connection オブジェクトを要求して取得する必要があります。

•DriverManager の getConnectin(String url, String username, String passwd) メソッドを使用して、接続する指定したデータベースへのパス、データベースのユーザー名、
パスワードを渡して取得します。


例:


//连接MySql数据库,用户名和密码都是root  
   String url = "jdbc:mysql://localhost:3306/test" ;  
   String username = "root" ;  
   String password = "root" ;  
   try{  
  Connection con =  
       DriverManager.getConnection(url , username , password ) ;  
   }catch(SQLException se){  
  System.out.println("数据库连接失败!");  
  se.printStackTrace() ;  
   }
ログイン後にコピー



4. ステートメントを作成します


•SQL ステートメントを実行するには、java.sql.Statement インスタンスを取得する必要があります。 Statement インスタンスは、以下の3種類:

1. 静的SQL文を実行します。通常、Statement インスタンスを通じて実装されます。
2. 動的 SQL ステートメントを実行します。通常は PreparedStatement インスタンスを通じて実装されます。

3. データベースストアドプロシージャを実行します。通常は CallableStatement インスタンスを通じて実装されます。


特定の実装:




Statement stmt = con.createStatement() ;  
    PreparedStatement pstmt = con.prepareStatement(sql) ;  
    CallableStatement cstmt =  
              con.prepareCall("{CALL demoSp(? , ?)}") ;
ログイン後にコピー


5. SQL ステートメントを実行します


Statement インターフェースには、SQL ステートメントを実行するための 3 つのメソッドがあります:executeQuery、executeUpdate、およびexecute

1. ResultSetクエリ(文字列) sqlString): SQL ステートメントを実行してデータベースにクエリを実行し、結果セット (ResultSet) オブジェクトを返します。
2. intexecuteUpdate(String sqlString): INSERT、UPDATE、または DELETE ステートメントと、CREATE TABLE や DROP TABLE などの SQL DDL ステートメントを実行するために使用されます。

3.execute(sqlString): 複数の結果を実行して返すために使用されます。セット、複数の更新カウントのステートメント、または両方の組み合わせ。


特定の実装コード:





     ResultSet rs = stmt.executeQuery("SELECT * FROM ...") ;  
  int rows = stmt.executeUpdate("INSERT INTO ...") ;  
  boolean flag = stmt.execute(String sql) ;
ログイン後にコピー


6. 結果の処理


2 つの状況:

1. 更新を実行すると、影響を受けるレコードの数この操作。 2. クエリの実行によって返される結果は、ResultSet オブジェクトです。

• ResultSet には SQL ステートメントの条件に一致するすべての行が含まれており、一連の get メソッドを通じてこれらの行のデータへのアクセスを提供します。

•結果セットオブジェクトのアクセス方法を使用してデータを取得します。

7、关闭JDBC对象

操作完成以后要把所有使用的JDBC对象全都关闭,以释放JDBC资源,关闭顺序和声 明顺序相反:

1、关闭记录集
2、关闭声明
3、关闭连接对象


     if(rs != null){  // 关闭记录集  
    try{  
      rs.close() ;  
    }catch(SQLException e){  
      e.printStackTrace() ;  
    }  
     }  
     if(stmt != null){  // 关闭声明  
    try{  
      stmt.close() ;  
    }catch(SQLException e){  
      e.printStackTrace() ;  
    }  
     }  
     if(conn != null){ // 关闭连接对象  
     try{  
      conn.close() ;  
     }catch(SQLException e){  
      e.printStackTrace() ;  
     }  
     }
ログイン後にコピー


感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

更多java 中JDBC连接数据库和步骤详解及实例相关文章请关注PHP中文网!


このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

会社のセキュリティソフトウェアはアプリケーションの実行に失敗していますか?それをトラブルシューティングと解決する方法は? 会社のセキュリティソフトウェアはアプリケーションの実行に失敗していますか?それをトラブルシューティングと解決する方法は? Apr 19, 2025 pm 04:51 PM

一部のアプリケーションが適切に機能しないようにする会社のセキュリティソフトウェアのトラブルシューティングとソリューション。多くの企業は、内部ネットワークセキュリティを確保するためにセキュリティソフトウェアを展開します。 ...

MapsTructを使用したシステムドッキングのフィールドマッピングの問題を簡素化する方法は? MapsTructを使用したシステムドッキングのフィールドマッピングの問題を簡素化する方法は? Apr 19, 2025 pm 06:21 PM

システムドッキングでのフィールドマッピング処理は、システムドッキングを実行する際に難しい問題に遭遇することがよくあります。システムのインターフェイスフィールドを効果的にマッピングする方法A ...

エンティティクラス変数名をエレガントに取得して、データベースクエリ条件を構築する方法は? エンティティクラス変数名をエレガントに取得して、データベースクエリ条件を構築する方法は? Apr 19, 2025 pm 11:42 PM

データベース操作にMyBatis-Plusまたはその他のORMフレームワークを使用する場合、エンティティクラスの属性名に基づいてクエリ条件を構築する必要があることがよくあります。あなたが毎回手動で...

Intellijのアイデアは、ログを出力せずにSpring Bootプロジェクトのポート番号をどのように識別しますか? Intellijのアイデアは、ログを出力せずにSpring Bootプロジェクトのポート番号をどのように識別しますか? Apr 19, 2025 pm 11:45 PM

intellijideaultimatiateバージョンを使用してスプリングを開始します...

名前を数値に変換してソートを実装し、グループの一貫性を維持するにはどうすればよいですか? 名前を数値に変換してソートを実装し、グループの一貫性を維持するにはどうすればよいですか? Apr 19, 2025 pm 11:30 PM

多くのアプリケーションシナリオでソートを実装するために名前を数値に変換するソリューションでは、ユーザーはグループ、特に1つでソートする必要がある場合があります...

Javaオブジェクトを配列に安全に変換する方法は? Javaオブジェクトを配列に安全に変換する方法は? Apr 19, 2025 pm 11:33 PM

Javaオブジェクトと配列の変換:リスクの詳細な議論と鋳造タイプ変換の正しい方法多くのJava初心者は、オブジェクトのアレイへの変換に遭遇します...

データベースクエリにTKMYBATISを使用するときに、エンティティクラスの変数名の構築クエリ条件をエレガントに取得する方法は? データベースクエリにTKMYBATISを使用するときに、エンティティクラスの変数名の構築クエリ条件をエレガントに取得する方法は? Apr 19, 2025 pm 09:51 PM

データベースクエリにTKMYBATISを使用する場合、クエリ条件を構築するためにエンティティクラスの変数名を優雅に取得する方法は一般的な問題です。この記事はピン留めします...

名前を数字に変換してグループ内でソートを実装する方法は? 名前を数字に変換してグループ内でソートを実装する方法は? Apr 19, 2025 pm 01:57 PM

名前を数字に変換してグループ内でソートを実装する方法は?ユーザーをグループでソートする場合、ユーザーの名前を数字に変換して、異なる可能性があることがよくあります...

See all articles