找不到适合 jdbc:mysql/localhost:3306/world 的驱动程序
Posted
技术标签:
【中文标题】找不到适合 jdbc:mysql/localhost:3306/world 的驱动程序【英文标题】:No suitable driver found for jdbc:mysql/localhost:3306/world 【发布时间】:2016-10-01 16:38:36 【问题描述】:我是这个领域编程的新手,我在驱动程序方面遇到了一些问题,有点:
当我直接与客户端一起使用 mysql 时,它工作正常,问题是我无法与 MySql 建立连接 tomcat
我把所有的驱动都放在了 WEB-INF/lib
使用 mysql 5.7、tomcat 9.1、java 8、IntellijIdea 2016.1.1
java.sql.SQLException: 在 java.sql.DriverManager.getConnection(DriverManager.java:689) 在 java.sql.DriverManager.getConnection(DriverManager.java:247) 在 Db.main(Db.java:20)
这是我的代码:
import java.io.Serializable;
import java.sql.*;
public class Db implements Serializable
public static void main(String args[])
Connection connection;
final String dbURL = "jdbc:mysql/localhost:3306/world";
final String username = "root";
final String pswd = "******";
try
DriverManager.getDrivers();
connection = DriverManager.getConnection(dbURL,username,pswd);
Statement statement = connection.createStatement();
String query = "SELECT * FROM city WHERE Name LIKE 'New%'";
ResultSet result = statement.executeQuery(query);
while(result.next())
int id = result.getInt("ID");
String name = result.getString("Name");
String cCode = result.getString("CountryCode");
String district = result.getString("District");
int pop = result.getInt("Population");
System.out.print("id = "+id+"</br>Name = "+name+
"</br>Code = "+cCode+"</br>District = "+district+
"</br>Population = "+pop+"</br>");
catch (SQLException e)
e.printStackTrace();
catch(Exception e)
e.printStackTrace();
【问题讨论】:
放到tomcat/lib中 添加 Class.forName("com.mysql.jdbc.Driver");如果你还没有,也将 mysql 连接器 jar 放在 lib 中。我发现您也没有正确的网址。正确格式:jdbc:mysql://MySQL JDBC URL 的语法是:
用于连接 MySQL 服务器的 JDBC URL 的一般格式如下,方括号 ([ ]) 中的项目是可选的:
jdbc:mysql://[host1][:port1][,[host2][:port2]]...[/[database]][?propertyName1=propertyValue1[&propertyName2=propertyValue2]...]
这是一个连接 URL 的简单示例:
jdbc:mysql://localhost:3306/sakila?profileSQL=true
您的网址jdbc:mysql/localhost:3306/world
在mysql
之后缺少:/
。
端口号默认为3306
,因此您的网址应为:
jdbc:mysql://localhost/world
【讨论】:
以上是关于找不到适合 jdbc:mysql/localhost:3306/world 的驱动程序的主要内容,如果未能解决你的问题,请参考以下文章