2017-01-15 15 views
2

IntelliJでサーブレットとTomcatを使用してWebアプリケーションを作成しています。私はアプリケーションをMySQLデータベースにJDBCで接続したいと思っています。 MySQL Workbenchをダウンロードして接続し、データベースを作成しました。今IntelliJのJDBC mysqlドライバ設定

、私IntelliJのプロジェクトで、私は、データベース接続を追加するthisチュートリアルに続いて、私の性質は次のようになります。 enter image description here

私のMySQLドライバのバージョンは5.1.35ですので、JDBC 4.0と互換性があります。私のデータベースに接続するには(主にhere)がわかったとして、私はちょうど使用する必要があります。

Connection conn = DriverManager.getConnection(DB_URL, DB_USER, DB_PASSWORD); 

をしかし、私はNo suitable driver例外を取得接続しようとします。私が追加しても

Class.forName(DB_DRIVER).newInstance(); 

私は同じになります。それはが本当に唯一の方法 enter image description here enter image description here

です:私は私のライブラリや成果物で、このドライバを手動でjarファイルを追加する場合にのみ動作しますか? IntelliJが自動的にjarファイルをダウンロードした場合、接続しようとすると自動的に読み込まれるべきではありませんか? このプロパティは何とか設定する必要がありますか?

+0

の可能性のある重複した[修正しない方法: "いいえ、適切なJDBCドライバが見つかります。mysql:// localhost /をdbnameに"?エラーをプールを使用する場合](http://stackoverflow.com/questions/5556664/how-to-fix-no-suitable-driver-found-for-jdbcmysql-localhost-dbname-error-w) –

+0

これは重複しているとは思わない。まず、設定が若干異なる環境を使います。第二に、私はその質問で提案された解決策を知り、それを達成する他の方法があるかどうか尋ねました。 – Mohru

+0

IntelliJをMySQLに接続してプロジェクトにデータベースドライバを使用できるように設定することには違いがあります。あなたの答えは –

答えて

2

短い答え - はい、プロジェクトドライバのjarは明示的に言及する必要があります。

Intellij(データベースパネルを使用)用にDB を設定すると、Intellijはデータベースタイプに基づいてそれぞれのドライバをダウンロードできます。これはMySQL Workbenchの設定と似ています。開発目的のためです。

プロジェクト内でJDBC接続を使用する場合は、対応するドライバが必要であることをIntellijに伝える必要があります。次の方法、それを行うことができます。

  1. は、手動で(あなたがやったように)、コードで、プロジェクトへのライブラリとして
  2. をドライバjarを追加するドライバクラスを使用します。 Intellisenseを使用してJAR(以下のスクリーンショット)をインポートします。 'クラスパスに追加'
  3. 上記と同じですが、Mavenベースのプロジェクト(以下のスクリーンショット)です。 'Add maven dependency'
  4. Springブートフレームワークを使用して、ドライバを自動的に把握できるようにします。

enter image description here enter image description here

+0

ありがとう。私の質問で言及したDriverManagerの初期化中に、このロードドライバを使用するソリューションはありますか? – Mohru

+0

コードでDriverManagerを初期化するには、Class.forName( "class_name_string")が必要です。 Intellijは文字列であるため、クラスをロードしません。したがって、インポートのためだけに、コード内の任意の場所に(パッケージで)ドライバクラス名を記述し、intellijの提案を使用してJARをインポートします。インポートしたら、そのクラス名コードを削除します。 – DeepakV

関連する問題