MySQL JDBCドライバー接続文字列とは何ですか?


117

JDBCは初めてで、MySQLデータベースに接続しようとしています。Connector / Jドライバーを使用していますが、Class.forName()メソッドのJDBC接続文字列が見つかりません。


4
まず、はClass.forName()JDBC接続文字列を想定していませんが、JDBCドライバーのクラス名を想定しています。
BalusC 2012年

回答:


114

あなたの運転手がパスにいると仮定すると、

String url = "jdbc:mysql://localhost/test";
Class.forName ("com.mysql.jdbc.Driver").newInstance ();
Connection conn = DriverManager.getConnection (url, "username", "password");

1
環境変数にない場合、jdbcパスをどのように見つけますか?
ロイヒンクリー

1
サンプルコードでは、JDBC URLはハードコーディングされており、環境変数で検索されていません
Jaime Hablutzel '16

67

ここにドキュメントがあります:

https://dev.mysql.com/doc/connector-j/en/connector-j-reference-configuration-properties.html

基本的な接続文字列は次のようになります。

jdbc:mysql://localhost:3306/dbname

class.forName文字列は "com.mysql.jdbc.Driver"であり、これを見つけることができます(編集:同じページになりました)。


上記のリンクは機能しません。:ここでは新しい働きリンクだdev.mysql.com/doc/connector-j/en/...
hexicle

1
:例えば-私は、接続文字列で使用する3つのプロパティを持っている場合は、どのような接続文字列になりuseOldAliasMetadataBehavior=trueuseUnicode=truecharacterEncoding=UTF-8
N00B Pr0grammer

17
"jdbc:mysql://localhost"

オラクルのドキュメントから。

jdbc:mysql://[host][,failoverhost...]
[:port]/[database]
[?propertyName1][=propertyValue1]
[&propertyName2][=propertyValue2]

host:portは、データベースをホストしているコンピューターのホスト名とポート番号です。指定しない場合、ホストとポートのデフォルト値はそれぞれ127.0.0.1と3306です。

databaseは、接続するデータベースの名前です。指定しない場合、デフォルトデータベースなしで接続が行われます。

フェイルオーバーはスタンバイデータベースの名前です(MySQL Connector / Jはフェイルオーバーをサポートしています)。

propertyName = propertyValueは、オプションの、アンパサンドで区切られたプロパティのリストを表します。これらの属性により、MySQL Connector / Jにさまざまなタスクを実行するように指示できます。


:例えば-私は、接続文字列で使用する3つのプロパティを持っている場合は、どのような接続文字列になりuseOldAliasMetadataBehavior=trueuseUnicode=truecharacterEncoding=UTF-8
N00B Pr0grammer

@B Pavan KumarこれはURIなので、プロパティはアンパサンド( "&")で区切る必要があります。
Tim Sylvester

1
@ N00bPr0grammerjdbc:mysql://[host][:port]/[database]?useOldAliasMetadataBehavior=true&useUnicode=true&characterEncoding=UTF-8
ssc-hrep3

5

それは非常に簡単です:

  1. MySQLワークベンチに移動し、[データベース]> [接続の管理]を検索します
  2. 接続のリストが表示されます。接続したい接続をクリックします。
  3. 接続、リモート管理、システムプロファイルに関するタブが表示されます。接続タブをクリックします。
  4. あなたのURLはjdbc:mysql://<hostname>:<port>/<dbname>?prop1etc.どこに<hostname>あり<port>、接続タブで与えられます。それはほとんどlocalhostです:3306。Windows <dbname>サービス名のシステムプロファイルタブの下にあります。デフォルトは主にMySQL5 <x>で、xはバージョン番号です。MySQL5.6の場合56、MySQL5.5の場合55など。接続する独自のWindowsサービス名を指定することもできます。
  5. それに応じてURLを作成し、接続するURLを設定します。

5

Mysqlの場合、jdbcドライバー接続文字列はcom.mysql.jdbc.Driverです。接続するには、次のコードを使用します:-

class DBConnection {
   private static Connection con = null;
   private static String USERNAME = "your_mysql_username";
   private static String PASSWORD = "your_mysql_password";
   private static String DRIVER = "com.mysql.jdbc.Driver";
   private static String URL = "jdbc:mysql://localhost:3306/database_name";

   public static Connection getDatabaseConnection(){
       Class.forName(DRIVER);
       return con = DriverManager.getConnection(URL,USERNAME,PASSWORD);
   }
}


2

答えは既に答えられているようですので、追加することはあまりありませんが、既存の答えに1つ追加したいと思います。これは、mysqlのJDBCドライバーのクラスをロードする方法でした。

com.mysql.jdbc.Driver

しかし、これは現在非推奨です。新しいドライバークラスは

com.mysql.cj.jdbc.Driver

また、ドライバーはSPIを介して自動的に登録され、ドライバークラスを手動でロードする必要は通常ありません。


0
String url = "jdbc:mysql://localhost:3306/dbname";
String user = "user";
String pass = "pass";
Class.forName ("com.mysql.jdbc.Driver").newInstance ();
Connection conn = DriverManager.getConnection (url, user, pass);

3306 mysqlのデフォルトのポートです。

Java 7を使用している場合は、Class.forName("com.mysql.jdbc.Driver").newInstance ();ステートメントを追加する必要もありません。自動リソース管理(ARM)は、Java 7にデフォルトで付属しているJDBC 4.1に追加されています。

MySQLサーバーに接続するためのJDBC URLの一般的な形式は次のとおりです。角括弧([])内の項目はオプションです。

jdbc:mysql://[host1][:port1][,[host2][:port2]]...[/[database]] »
[?propertyName1=propertyValue1[&propertyName2=propertyValue2]...]

0

protocol // [hosts] [/ database] [?properties]

プロパティがない場合は無視してください。

jdbc:mysql://127.0.0.1:3306 / test

jdbc:mysqlはプロトコル127.0.0.1:はホスト、3306はポート番号ですtestはデータベースです


0

使用しているサービスによって異なります。

MySQL Workbenchを使用する場合は、次のようになります。

jdbc:mysql:// "ホスト": "ポート番号" /

String url = "jdbc:mysql://localhost:3306/";

そしてもちろん、SSL / SSHを使用している場合は異なります。

詳細については、Jetbriensの公式リンク(intelliJのアイデア)に従ってください。

データベースへの接続#

https://www.jetbrains.com/help/idea/connecting-to-a-database.html


データベース接続の構成#

https://www.jetbrains.com/help/idea/configuring-database-connections.html

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.