I am doing a small exercise using Spring framework and JDBC, and I got the following error:
Exception in thread "main" org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is java.sql.SQLException: No suitable driver found for jdbc:mysql:3306//localhost/springcore
at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:80)
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:573)
at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:812)
at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:868)
at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:876)
at springcore.springcore.EmployeeJDBCTemplate.create(EmployeeJDBCTemplate.java:23)
at springcore.springcore.EmployeeApp.main(EmployeeApp.java:23)
Caused by: java.sql.SQLException: No suitable driver found for jdbc:mysql:3306//localhost/springcore
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at org.springframework.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriverManager(DriverManagerDataSource.java:173)
at org.springframework.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriver(DriverManagerDataSource.java:164)
at org.springframework.jdbc.datasource.AbstractDriverBasedDataSource.getConnectionFromDriver(AbstractDriverBasedDataSource.java:149)
at org.springframework.jdbc.datasource.AbstractDriverBasedDataSource.getConnection(AbstractDriverBasedDataSource.java:119)
at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:111)
at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:77)
My pom.xml:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>springcore</groupId>
<artifactId>springcore</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>springcore</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.1.0.RELEASE</version>
</dependency>
<!-- MySQL database driver -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.9</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>3.2.0.RELEASE</version>
</dependency>
</dependencies>
</project>
and Beans.xml:
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd ">
<!-- Initialization for data source -->
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql:3306//localhost/springcore"/>
<property name="username" value="root"/>
<property name="password" value=""/>
</bean>
<!-- Definition for employeeJDBCTemplate bean -->
<bean id="employeeJDBCTemplate"
class="springcore.springcore.EmployeeJDBCTemplate">
<property name="dataSource" ref="dataSource" />
</bean>
</beans>
Database: MySQL, I use Xampp and phpmyadmin to manage the database: IDE, esclipse, Maven project!
Am I missing libraries or something?
Please tell me where am I getting wrong: :D Thanks in advance!
are u sure the connection string correct?
default url
jdbc:mysql://localhost:3306/dbname
Clean And Build Your Projrct..
Tomcat server Terminal and Restart.
take your URL correct.
JDBC_DRIVER = "com.mysql.jdbc.Driver"; DB_URL = "jdbc:mysql://localhost/EMP"; conn = DriverManager.getConnection(DB_URL,USER,PASS);
When I typed in "localhost", it somehow didn't work but this:
jdbc:mysql://127.0.0.1:3306/dbname
seemed to work for me....
Driver class: The driver class for the mysql database is com.mysql.jdbc.Driver. Connection URL: The connection URL for the mysql database is jdbc:mysql://localhost:7101/empDB
Class.forName("com.mysql.jdbc.Driver");
Connection con=DriverManager.getConnection(
"jdbc:mysql://localhost:7101/empDB","root","root");
//here empDB is database name, root is username and password
where jdbc is the API, mysql is the database, localhost is the server name on which mysql is running, we may also use IP address, 7101 is the port number and empDB is the database name. We may use any database, in such case, we need to replace the empDB with our database name.
MySQL Connector Database URL The following is the database connection URL syntax for MySQL Connector:
jdbc:mysql://[host][,failoverhost...]
[:port]/[database]
[?propertyName1][=propertyValue1]
[&propertyName2][=propertyValue2].
https://dev.mysql.com/doc/connector-j/8.0/en/connector-j-reference-jdbc-url-format.html
https://docs.oracle.com/javase/tutorial/jdbc/basics/connecting.html
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.