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:
ユニコード文字セットの使用を示します。
キャラクターエンコードがに設定されている場合
GB2312またはGBK、このパラメーターはtrueに設定する必要があります。
キャラクターエンコード= GBK:文字エンコードメソッド。
3.データベース接続を作成します
•データベースに接続するには、java.sql.drivermanagerを要求し、データベースへの接続を表す接続オブジェクトを取得する必要があります。
•DriverManagerを使用してGetConnectin(String URL、Stringユーザー名、文字列パスワード)を使用します
メソッドは、指定されたパス、データベースのユーザー名、およびパスワードをデータベースに渡すことによって取得されます。
例えば:
// mysqlデータベースを接続すると、ユーザー名とパスワードはルート文字列url = "jdbc:mysql:// localhost:3306/test";文字列username = "root";文字列パスワード= "root"; try {connection con = drivermanager.getConnection(url、username、password); } catch(sqlexception se){system.out.println( "データベース接続に失敗!"); se.printstacktrace(); }4。ステートメントを作成します
•SQLステートメントを実行するには、java.sql.Statementインスタンスを取得する必要があります。ステートメントインスタンスは、次の3つのタイプに分割されます。
1。静的SQLステートメントを実行します。通常、ステートメントインスタンスを通じて実装されます。
2。動的SQLステートメントを実行します。通常、準備されたステートメントインスタンスを介して実装されます。
3。データベースストアドプロシージャを実行します。通常、callablestatementインスタンスを介して実装されます。
特定の実装方法:
ステートメントstmt = con.createstatement(); preatedStatement 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 ..."); boolean flag = stmt.execute(string sql);
6。結果の処理
2つの状況:
1.更新の実行は、この操作の影響を受けるレコードの数を返します。
2。クエリを実行して返される結果は、結果セットオブジェクトです。
•結果セットには、SQLステートメントの条件を満たすすべての行が含まれており、GETメソッドのセットを介してこれらの行のデータへのアクセスを提供します。
•結果セット(結果セット)オブジェクトのアクセスメソッドを使用して、データを取得します。
while(rs.next()){
文字列名= rs.getString( "name");
文字列パス= rs.getString(1); //この方法はより効率的です
}
(列には左から右に番号が付けられ、列1から開始されます)
7。JDBCオブジェクトを閉じます
操作が完了した後、JDBCリソースをリリースするには、使用されているすべてのJDBCオブジェクトを閉じる必要があります。閉鎖と宣言の順序は逆転します:
1.レコードセットを閉じます
2。閉じる声明
3.接続オブジェクトを閉じます
packed me.clfeng.jdbc; import java.sql.connection; import java.sql.drivermanager; import java.sql.preparedStatement; public static final string url = "jdbc:mysql:// localhost:3306/mybatis"; public static final string name = "com.mysql.jdbc.driver"; public static final string username = "root"; public static final string password = "123456";パブリック接続conn = null; Public PredStatement Statement = null; public dbhelper(string sql){try {class.forname(name); //接続タイプの指定conn = drivermanager.getConnection(url、username、password); // connectionステートメント= conn.preparestatement(sql); }} //リソースPublic void close(){try {this.conn.close(); this.statement.close(); } catch(Exception e){e.printstacktrace(); }}}テストコード:
packer me.clfeng.jdbc; Import java.sql.Resultset; public class jdbctest {static string sql = null;静的dbhelper dbhelper = null; static resultSet resultset = null; public static void main(string [] args){sql = "select * from user"; dbhelper = new dbhelper(sql); try {resultSet = dbhelper.statement.executequery(); //ステートメントを実行して、結果セットを取得します。文字列名= resultset.getString(2); int age = resultset.getint(3); System.out .println( "id =" + id + "、name =" + name + "、age =" + age); } resultSet.close(); dbhelper.close(); } catch(Exception e){e.printstacktrace(); }}}上記の手順とJDBCの単純な実装コードは、私があなたと共有するすべてのコンテンツです。参照を提供できることを願っています。wulin.comをもっとサポートできることを願っています。