ホームページ  >  記事  >  Java  >  データベースへの JDBC 接続の詳細な説明と例、および Java での手順

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

高洛峰
高洛峰オリジナル
2017-02-28 15:37:141893ブラウズ

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 までご連絡ください。