【问题标题】:org.hibernate.exception.JDBCConnectionExceptionorg.hibernate.exception.JDBCConnectionException
【发布时间】:2019-03-01 22:29:42
【问题描述】:

我正在 Eclipse 中开发一个休眠项目。我将所有 jars 文件(包括 Mysql 连接器 jar)放在 WEB-INF lib 文件夹中。当我尝试运行代码时,它会引发错误。

例外

org.hibernate.exception.JDBCConnectionException:无法打开 联系 org.hibernate.exception.internal.SQLStateConversionDelegate.convert(SQLStateConversionDelegate.java:131) org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:49) org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:125) org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:110) org.hibernate.engine.jdbc.internal.LogicalConnectionImpl.obtainConnection(LogicalConnectionImpl.java:304) org.hibernate.engine.jdbc.internal.LogicalConnectionImpl.getConnection(LogicalConnectionImpl.java:169) org.hibernate.engine.transaction.internal.jdbc.JdbcTransaction.doBegin(JdbcTransaction.java:67) org.hibernate.engine.transaction.spi.AbstractTransactionImpl.begin(AbstractTransactionImpl.java:160) org.hibernate.internal.SessionImpl.beginTransaction(SessionImpl.java:1363) first.doPost(first.java:37) javax.servlet.http.HttpServlet.service(HttpServlet.java:661) javax.servlet.http.HttpServlet.service(HttpServlet.java:742) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

根本原因

java.sql.SQLException: 找不到合适的驱动程序 jdbc:mysql://localhost:3306/sample java.sql/java.sql.DriverManager.getConnection(未知来源) java.sql/java.sql.DriverManager.getConnection(未知来源) org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl.getConnection(DriverManagerConnectionProviderImpl.java:192) org.hibernate.internal.AbstractSessionImpl$NonContextualJdbcConnectionAccess.obtainConnection(AbstractSessionImpl.java:278) org.hibernate.engine.jdbc.internal.LogicalConnectionImpl.obtainConnection(LogicalConnectionImpl.java:297) org.hibernate.engine.jdbc.internal.LogicalConnectionImpl.getConnection(LogicalConnectionImpl.java:169) org.hibernate.engine.transaction.internal.jdbc.JdbcTransaction.doBegin(JdbcTransaction.java:67) org.hibernate.engine.transaction.spi.AbstractTransactionImpl.begin(AbstractTransactionImpl.java:160) org.hibernate.internal.SessionImpl.beginTransaction(SessionImpl.java:1363) first.doPost(first.java:37) javax.servlet.http.HttpServlet.service(HttpServlet.java:661) javax.servlet.http.HttpServlet.service(HttpServlet.java:742) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52

这是我的配置:

<?xml version='1.0' encoding='UTF-8'?>

<!DOCTYPE hibernate-configuration PUBLIC

"-//Hibernate/Hibernate Configuration DTD 3.0//EN"

"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">


<hibernate-configuration>

    <session-factory name="factory">

        <property name="connection.driver_class">
            com.mysql.jdbc.Driver

        </property>

        <property name="connection.url">jdbc:mysql://localhost:3306/sample</property>

        <property name="connection.username">
            root
        </property>
        <property name="connection.password">
            root
        </property>
        <property name="connection.pool_size">5</property>
        <!-- SQL dialect -->
        <property name="dialect">
            org.hibernate.dialect.MySQLDialect
        </property>
        <!-- Echo all executed SQL to stdout -->

        <property name="hbm2ddl.auto">update</property>
        <mapping class="user" />

    </session-factory>
</hibernate-configuration>

【问题讨论】:

    标签: java spring hibernate


    【解决方案1】:

    我觉得你可以试试这个连接

    <property name="url" value="jdbc:mysql://localhost:3306/sample?useEncoding=true&amp;characterEncoding=UTF-8"/>
    

    【讨论】:

    • 谢谢,但它抛出一个错误:java.lang.UnsupportedOperationException:应用程序必须提供 JDBC 连接
    • 您有什么理由认为这是解决方案?
    • 兄弟我也遇到了同样的问题,所以我改变了这个连接它可以工作。
    • 我尝试使用它但抛出异常:必须为元素类型“property”声明属性“value”。
    猜你喜欢
    • 2014-05-08
    • 2012-06-09
    • 1970-01-01
    • 1970-01-01
    • 2014-11-23
    • 2013-12-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多