Java データベース接続
SQL の基本を理解していることになります。これはいい。しかし、今日はさらに気分が良くなります。今日は、Java アプリケーションからデータベースを操作する方法を学び始めます。
さまざまな DBMS が多数あるため、Java の作成者は、Java アプリケーションがデータベースと連携する方法を標準化することにしました。そして彼らはこれを標準 - JDBC : Java DataBase Connectivityと呼びました。

JDBC には 3 つの主要なインターフェイスがあります。
- 接続- データベースへの接続を担当します
- ステートメント- データベースのクエリを担当します
- ResultSet - データベースへのクエリの結果を担当します。
実際、それだけです。そして、すべてのインターフェースのすべてのメソッドを学ぶことさえできません。実用的な例のみですが、徐々に複雑にしていきます。
JDBC はサーブレットの操作に似ています。JDBC の作成者はいくつかのインターフェイスを作成し、それを誇らしげに Java DataBase API と呼んでいます。そして、これらのインターフェイスの実装は、DBMS の作成者に割り当てられました。それがそこでどのように実装されるか - 誰も気にしません。正常に動作します。
JDBC には 4 つのバージョンがあり、ここでは最新のバージョンを見ていきます。それは彼女が最もクールだからではなく、彼女が最も単純だからです。
JDBCドライバーマネージャー
Java アプリケーションとデータベースは、JDBC ドライバーと呼ばれるライブラリを通じて相互に通信します。これは、特定の DBMS 用の JDBC API を実装するクラスのセットです。
DriverManagerというクラスを使用して、正しい JDBC ドライバーが選択されます。それらの相互作用は次のように表すことができます。

重要なのは、In-Memory-DB、No-SQL-DB、さらには Android アプリに組み込まれたデータベースを使用できるということです。Java 開発者にとって、これらの微妙な違いはまったく関係ありません。Driver Manager は適切な JDBC ドライバーを選択し、すべてが時計のように動作します。
ところで、彼はどうやってやるのでしょうか?
MySQLサーバーへの接続
MySQL Workbench を介してローカル SQL サーバーに接続するために必要なものを覚えていますか? 忘れてしまった場合は、次の 3 つのものが必要だったことを思い出させます。
- ホスト
- ログイン
- パスワード
ログインとパスワードがあればすべてが明らかです。覚えていると思いますが、ホストはサーバーが配置されているコンピューターの名前です。ローカル コンピューター上にある場合は、ホスト名として localhost を指定する必要があります。地元じゃなかったらどうするの?
次に、 ... URL を使用する必要があります。URL はUniversal Resource Locatorの略です。これは、サイト、プリンター、SQL サーバーなど、ネットワーク上のあらゆる場所の指定に使用できます。実際、この URL はローカル SQL サーバーにアクセスするためにも使用されます。次のようになります。
mysql://localhost:3306/db_scheme
- mysqlはサーバープロトコルです
- localhost - ネットワーク上のホスト名
- 3306 - リクエストが行われるポート
- db_scheme - スキーマ名 (データベース名)
ノート。データベース名は省略可能です。ただし、サーバーに多数のデータベース スキーマが保存されている場合は、通常、異なるユーザーとそれらに対して異なるアクセス権が作成されます。また、SQL サーバーにログインするユーザーがすべてのデータベースにアクセスできない場合は、アクセスできる特定のデータベースの名前を必ず指定する必要があります。
この URL の末尾には、確立される新しいデータベース接続のパラメータとみなされる、さまざまなパラメータ、エンコード タイプ、タイムゾーンを含めることができます。
また、プロトコルは複合的なものにすることもできます。データベース サーバーとのすべての通信が SSH プロトコルを使用した暗号化チャネル経由で行われる場合、URL は次のように指定できます。
ssh:mysql://localhost:3306/db_scheme
プロトコルは必ずしも外部プログラムである必要はありません。たとえば、JNDI プロトコルを使用してサーバーを操作している場合は、次のように指定できます。
jndi:mysql://localhost:3306/db_scheme
JDBC API プロトコルを使用して作業する場合は、次のように記述する必要があります。
jdbc:mysql://localhost:3306/db_scheme
データベース接続を作成しようとすると、JDBC ドライバー マネージャーは SQL-db-URL を解析し、プロトコル名から JDBC ドライバー名を決定します。そんなちょっとした裏技をご紹介します。
GO TO FULL VERSION