java.sql.SQLException:找不到合适的驱动程序 [英] java.sql.SQLException: No suitable driver found
本文介绍了java.sql.SQLException:找不到合适的驱动程序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试使用下面的DbQuery.java类执行简单的查询,该类使用DbConnector从DriverManager获取连接.
I am trying to execute simple query using below DbQuery.java class which uses DbConnector to get a Connection from DriverManager.
注释:
- 我已经在我的数据库中包含了"mysql-connector-java-5.1.25-bin.jar" 类路径通过:导出 CLASSPATH = $ CLASSPATH:/home/me/ocpjp/chapter-10/mysql-connector-java-5.1.25/mysql-connector-java-5.1.25-bin.jar
- 我能够使用"mysql -uroot -ptcial"连接到mysql 地址簿",如果有关系的话.
- 也尝试使用'-cp'运行 论据无济于事.
- 我能够使我的#3 DbConnect.java类说建立数据库连接".
- 还#4 DbQueryWorking.java没有问题,并提供了预期的输出.
- I have already included "mysql-connector-java-5.1.25-bin.jar" on my classpath via: export CLASSPATH=$CLASSPATH:/home/me/ocpjp/chapter-10/mysql-connector-java-5.1.25/mysql-connector-java-5.1.25-bin.jar
- I am able to connect to mysql with "mysql -uroot -ptcial addressBook", if it matters.
- have also tried running with '-cp' argument with no avail.
- I am able to get my #3 DbConnect.java class to say "Database connection established".
- Also #4 DbQueryWorking.java has no issues and provides expected output .
能否请您帮助我了解这里的问题?
Can you please help me understand what is the issue here ?
1)DbConnector.java
1) DbConnector.java
package com.me.ocpjp.chapter10;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class DbConnector{
public static Connection connectToDb() throws SQLException{
String url = "jdbc:mysql//localhost:3306/";
String db = "addressBook";
String username = "root";
String password = "tcial";
return DriverManager.getConnection(url+db, username, password);
}
}
2)DbQuery.java
2) DbQuery.java
package com.me.ocpjp.chapter10;
import java.sql.Connection ;
import java.sql.Statement ;
import java.sql.ResultSet ;
import java.sql.SQLException ;
import com.me.ocpjp.chapter10.DbConnector;
public class DbQuery{
public static void main(String[] args){
try(Connection connection = DbConnector.connectToDb();
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery("select * from contact")){
System.out.println("ID \tfName \tlName \temail \t\tphoneNo");
while(resultSet.next()){
System.out.println(resultSet.getInt("id") + "\t"
+ resultSet.getString("firstName") + "\t"
+ resultSet.getString("lastName") + "\t"
+ resultSet.getString("email") + "\t"
+ resultSet.getString("phoneNo") );
}
}catch(SQLException sqle){
sqle.printStackTrace();
System.exit(-1);
}
}
}
3)DbConnect.java
3) DbConnect.java
package com.me.ocpjp.chapter10;
import java.sql.Connection;
import java.sql.DriverManager;
public class DbConnect{
public static void main(String[] args){
String url = "jdbc:mysql://localhost:3306/";
String database = "addressBook";
String userName = "root";
String password = "tcial";
try(Connection connection = DriverManager.getConnection(url+database, userName, password)){
System.out.println("Database connection established");
}catch(Exception e){
System.out.println("Database connectioni NOT established");
e.printStackTrace();
}
}
}
4)DbQueryWorking.java
4) DbQueryWorking.java
package com.me.ocpjp.chapter10;
import java.sql.Connection ;
import java.sql.Statement ;
import java.sql.ResultSet ;
import java.sql.SQLException ;
import java.sql.DriverManager;
public class DbQuery{
public static void main(String[] args){
String url = "jdbc:mysql://localhost:3306/";
String database = "addressBook";
String userName = "root";
String password = "tcial";
try(Connection connection = DriverManager.getConnection(url + database, userName, password);
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery("select * from contact")){
System.out.println("ID \tfName \tlName \temail \t\tphoneNo");
while(resultSet.next()){
System.out.println(resultSet.getInt("id") + "\t"
+ resultSet.getString("firstName") + "\t"
+ resultSet.getString("lastName") + "\t"
+ resultSet.getString("email") + "\t"
+ resultSet.getString("phoneNo") );
}
}catch(SQLException sqle){
sqle.printStackTrace();
System.exit(-1);
}
}
}
推荐答案
看来DbConnector.java
中的URL错误.冒号丢失.网址必须为:
it looks like that the URL in DbConnector.java
is wrong. A colon is missing. The url must be:
jdbc:mysql://localhost:3306/
而不是
jdbc:mysql//localhost:3306/
这篇关于java.sql.SQLException:找不到合适的驱动程序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文