简体   繁体   English

Spring + Hibernate + Maven:j无法为连接URL“ jdbc:mysql // localhost:3306 / test”创建类“ com.mysql.jdbc.Driver”的JDBC驱动程序

[英]Spring + Hibernate + Maven: jCannot create JDBC driver of class 'com.mysql.jdbc.Driver' for connect URL 'jdbc:mysql//localhost:3306/test'

I have my mysql-connector jar in: 我在以下位置有我的mysql-connector jar:

1.) Tomcat Server lib 1.)Tomcat服务器库

2.) Build Path as an External JAR. 2.)将路径构建为外部JAR。 * Removed from Maven dependency, although it remains with the same error. *从Maven依赖项中删除,尽管仍然存在相同的错误。

jdbc.properties jdbc.properties

jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.dialect=org.hibernate.dialect.MySQLDialect
jdbc.databaseurl=jdbc:mysql//localhost:3306/test
jdbc.username=root
jdbc.password=****

web.xml adding it with a snippet: web.xml加上片段:

<resource-ref>
    <description>DB Connection</description>
    <res-ref-name>jdbc/test</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
</resource-ref>

And my complete servlet-context.xml 还有我完整的servlet-context.xml

<context:annotation-config />
<context:component-scan base-package="org.springsecudev.controller" />
<context:component-scan base-package="org.springsecudev.model" />
<context:component-scan base-package="org.springsecudev.service" />
<context:component-scan base-package="org.springsecudev.dao" />

<beans:bean id="propertyConfigurer"
    class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"
    p:location="/WEB-INF/jdbc.properties">
</beans:bean>

<beans:bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource"
    destroy-method="close" p:driverClassName="${jdbc.driverClassName}"
    p:url="${jdbc.databaseurl}" p:username="${jdbc.username}" p:password="${jdbc.password}">
</beans:bean>

<beans:bean id="sessionFactory" 
    class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
    <beans:property name="dataSource" ref="dataSource"/>
    <beans:property name="configLocation">
        <beans:value>classpath:hibernate.cfg.xml</beans:value>
    </beans:property>
    <beans:property name="configurationClass">
        <beans:value>org.hibernate.cfg.AnnotationConfiguration</beans:value>
    </beans:property>
    <beans:property name="hibernateProperties">
        <beans:props>
            <beans:prop key="hibernate.dialect">${jdbc.dialect}</beans:prop>
            <beans:prop key="hibernate.show_sql">true</beans:prop>
        </beans:props>
    </beans:property>
</beans:bean>   

<!-- Handles HTTP GET requests for /resources/** by efficiently serving up static resources in the ${webappRoot}/resources directory -->
<resources mapping="/resources/**" location="/resources/" />

<!-- Resolves views selected for rendering by @Controllers to .jsp resources in the /WEB-INF/views directory -->
<beans:bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <beans:property name="prefix" value="/WEB-INF/views/" />
    <beans:property name="suffix" value=".jsp" />
</beans:bean>

<beans:bean id="transactionManager" 
    class="org.springframework.orm.hibernate3.HibernateTransactionManager">
    <beans:property name="sessionFactory" ref="sessionFactory"></beans:property>
</beans:bean>

<interceptors>
    <beans:bean id="webContentInterceptor" 
        class="org.springframework.web.servlet.mvc.WebContentInterceptor">
        <beans:property name="cacheSeconds" value="0"/>
        <beans:property name="useExpiresHeader" value="true"/>
        <beans:property name="useCacheControlHeader" value="true"/>
        <beans:property name="useCacheControlNoStore" value="true"/>
    </beans:bean>
</interceptors>

<beans:bean id="encoder"  
class="org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder">
    <beans:constructor-arg value="12"></beans:constructor-arg>
</beans:bean>

I also added the context.xml in META-INF to be sure I tried this one as well with 我还在META-INF中添加了context.xml ,以确保我也尝试过使用

<Context>
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<Resource  name="jdbc/test" 
        username="root" 
        password="root" 
        driverClassName="com.mysql.jdbc.Driver"
        url="jdbc:mysql://localhost:3306/test"
        auth="Container" 
        type="javax.sql.DataSource"
        maxActive="100" 
        maxIdle="30" 
        maxWait="10000"
        initialSize="1"/>

But still no luck, it also has the same error being: 但是仍然没有运气,它也有相同的错误:

INFO : org.springframework.beans.factory.support.DefaultListableBeanFactory - Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@39c45c72: defining beans [org.springframework.context.annotation.internalConfigurationAnnotationProcessor,org.springframework.context.annotation.internalAutowiredAnnotationProcessor,org.springframework.context.annotation.internalRequiredAnnotationProcessor,org.springframework.context.annotation.internalCommonAnnotationProcessor,org.springframework.context.annotation.internalPersistenceAnnotationProcessor,propertyConfigurer,dataSource,sessionFactory,org.springframework.web.servlet.resource.ResourceHttpRequestHandler#0,org.springframework.web.servlet.handler.SimpleUrlHandlerMapping#0,org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping,org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter,org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter,org.springframework.web.servlet.view. INFO:org.springframework.beans.factory.support.DefaultListableBeanFactory-在org.springframework.beans.factors.support.DefaultListableBeanFactory@39c45c72中预先实例化单例:定义bean [org.springframework.context.annotation.internalConfigurationAnnotationProcessor,org.springframework。 context.annotation.internalAutowiredAnnotationProcessor,org.springframework.context.annotation.internalRequiredAnnotationProcessor,org.springframework.context.annotation.internalCommonAnnotationProcessor,org.springframework.context.annotation.internalPersistenceAnnotationProcessor,属性配置器,数据源,会话resource.ResourceHttpRequestHandler#0,org.springframework.web.servlet.handler.SimpleUrlHandlerMapping#0,org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping,org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter,org.springframework.web。 servlet.mvc.SimpleControllerHandlerAdapter,org.springframework.web.servlet.view。 InternalResourceViewResolver#0,transactionManager,org.springframework.web.servlet.handler.MappedInterceptor#0,encoder,org.springframework.context.annotation.ConfigurationClassPostProcessor$ImportAwareBeanPostProcessor#0]; InternalResourceViewResolver#0,transactionManager,org.springframework.web.servlet.handler.MappedInterceptor#0,encoder,org.springframework.context.annotation.ConfigurationClassPostProcessor $ ImportAwareBeanPostProcessor#0]; parent: org.springframework.beans.factory.support.DefaultListableBeanFactory@31e0a986 WARN : org.hibernate.util.JDBCExceptionReporter - SQL Error: 0, SQLState: null ERROR: org.hibernate.util.JDBCExceptionReporter - Cannot create JDBC driver of class 'com.mysql.jdbc.Driver' for connect URL 'jdbc:mysql//localhost:3306/test' WARN : org.hibernate.cfg.SettingsFactory - Could not obtain connection metadata java.sql.SQLException: Cannot create JDBC driver of class 'com.mysql.jdbc.Driver' for connect URL 'jdbc:mysql//localhost:3306/test' at org.apache.commons.dbcp2.BasicDataSource.createConnectionFactory(BasicDataSource.java:2160)....... [ shortened ] Caused by: java.sql.SQLException: No suitable driver at org.apache.commons.dbcp2.BasicDataSource.createConnectionFactory(BasicDataSource.java:2151) ... 40 more 父级:org.springframework.beans.factory.support.DefaultListableBeanFactory@31e0a986警告:org.hibernate.util.JDBCExceptionReporter-SQL错误:0,SQLState:空错误:org.hibernate.util.JDBCExceptionReporter-无法创建类'的JDBC驱动程序连接URL'jdbc:mysql // localhost:3306 / test'的com.mysql.jdbc.Driver'警告:org.hibernate.cfg.SettingsFactory-无法获取连接元数据java.sql.SQLException:无法创建类的JDBC驱动程序在org.apache.commons.dbcp2.BasicDataSource.createConnectionFactory(BasicDataSource.java:2160)上用于连接URL'jdbc:mysql // localhost:3306 / test'的'com.mysql.jdbc.Driver'....... [缩短] 原因:java.sql.SQLException: org.apache.commons.dbcp2.BasicDataSource.createConnectionFactory(BasicDataSource.java:2151) 没有合适的驱动程序 ... 40等等

I've been trying to find out what could be the problem wherein I have copied the jar in build path and server lib. 我一直试图找出可能的问题,其中我已将jar复制到构建路径和服务器库中。

seems like you're missing the colon in file jdbc.properties for the database URL. 似乎您在文件jdbc.properties缺少数据库URL的冒号。

jdbc:mysql//localhost:3306/test

I think it should be 我认为应该

jdbc:mysql://localhost:3306/test

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 无法为连接URL&#39;jdbc:mysql // localhost:3306 /创建类&#39;com.mysql.jdbc.Driver&#39;的JDBC驱动程序 - Cannot create JDBC driver of class 'com.mysql.jdbc.Driver' for connect URL 'jdbc:mysql//localhost:3306/ 无法为连接URL创建类&#39;com.mysql.jdbc.Driver&#39;的JDBC驱动程序 - Cannot create JDBC driver of class 'com.mysql.jdbc.Driver' for connect URL 如何解决“无法为连接URL创建类&#39;com.mysql.jdbc.Driver&#39;的JDBC驱动程序” - How to resolve “Cannot create JDBC driver of class 'com.mysql.jdbc.Driver' for connect URL” 无法加载Hibernate JDBC驱动程序com.mysql.jdbc.Driver - Hibernate JDBC Driver com.mysql.jdbc.Driver could not be loaded 无法加载驱动程序 class:com.mysql.jdbc.Driver Spring - Cannot load driver class: com.mysql.jdbc.Driver Spring 休眠 - ClassNotFoundException:com.mysql.jdbc.Driver - Hibernate - ClassNotFoundException: com.mysql.jdbc.Driver 未找到指定的 JDBC 驱动程序 com.mysql.jdbc.Driver 类 - Specified JDBC Driver com.mysql.jdbc.Driver class not found 无法加载 JDBC 驱动程序类 [com.mysql.jdbc.Driver] - Could not load JDBC driver class [com.mysql.jdbc.Driver] 找不到类com.mysql.jdbc.Driver - Class not found com.mysql.jdbc.Driver 无法为连接 URL &#39;jdbc:mysql://localhost:3306/web13?useSSL=false&amp;serverTimezone=UTC&#39; 创建类 &#39;&#39; 的 JDBC 驱动程序 - Cannot create JDBC driver of class '' for connect URL 'jdbc:mysql://localhost:3306/web13?useSSL=false&serverTimezone=UTC'
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM