使用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>
谢谢
答案 0 :(得分:1)
听起来JAR在CLASSPATH
。如果不是这样,你会得到NoClassDefFound
例外。
没有合适的驱动程序通常意味着给定驱动程序的连接URL语法不正确。
MySQL需要"jdbc:mysql://server:3306/database"
- 你的看起来是正确的。
如果无法解析localhost,则会出现问题。也许127.0.0.1会更好。
MySQL是否在端口3306上侦听?
您要求连接的数据库是否存在?你可以通过MySQL客户端登录并查看表格和数据吗?