1

Hibernateを使用しているときに、恐ろしい「適切なドライバーが見つかりません」というエラーが表示されます。私ができるように、ドライバーjarがクラスパスにあると確信していますClass.forName("com.mysql.jdbc.Driver")。実際、今のところ、セッションファクトリを構築する前にこれを呼び出すだけで、コードは機能します。しかし、これは「安全」ですか?なぜこうなった?これが私の設定です:

<session-factory>
    <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
    <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/test</property>

    <property name="hibernate.connection.username">root</property>
    <property name="hibernate.connection.password">password</property>

    <property name="connection.pool_size">1</property>

    <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>

    <property name="show_sql">true</property>
    <property name="format_sql">true</property>
    <property name="use_sql_comments">false</property>

    <mapping resource="User.hbm.xml" />
</session-factory>

ありがとうございました

4

1 に答える 1

1

JAR が にあるようCLASSPATHです。NoClassDefFoundそうでない場合は、例外が発生します。

適切なドライバーがないということは、通常、接続 URL の構文が特定のドライバーに対して正しくないことを意味します。

MySQL のニーズ"jdbc:mysql://server:3306/database"- あなたのニーズは正しいようです。

localhost を解決できない場合は、問題が発生します。おそらく 127.0.0.1 の方がうまくいくでしょう。

MySQL はポート 3306 でリッスンしていますか?

接続を要求したデータベースは存在しますか? MySQL クライアント経由でログインして、テーブルとデータを表示できますか?

于 2012-04-18T14:24:40.780 に答える