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"- 你的看起来是正确的。

如果它不能解析本地主机,你就会遇到问题。也许 127.0.0.1 会更好。

MySQL 是否在监听 3306 端口?

您要求连接的数据库是否存在?你可以通过 MySQL 客户端登录并查看表和数据吗?

于 2012-04-18T14:24:40.780 回答