我正在尝试在学习Java sql的同时在下面运行此代码,但是,我创建了数据库,并从终端对其进行了尝试。
1-我收到此错误
java.sql.SQLException: No suitable driver found for jdbc:sql://localhost/books
at java.sql.DriverManager.getConnection(DriverManager.java:602)
at java.sql.DriverManager.getConnection(DriverManager.java:185)
at Displayauthors.main(Displayauthors.java:20)
2-我下载了“ odbc管理器”,但我不知道为什么以及如何处理它,或者它与此处的操作有什么关系?
3-我已经下载了Connector / ODBC和Connector / J。我去了JRE参考库并添加了“ mysql-connector-java-5.1.21-bin.jar”,并尝试了.tar.gz的多平台版本。我不知道我一直在尝试什么,但没有工作。
4-我试图从eclipse转到预期的数据库并添加新的连接MYSQL,并包括.jar和东西,但仍然没有任何改变。
5-试图包括class.forName .....,也没有。
您能否请帮助我理解此过程,或指导我进行设置的清晰示例,但我确实理解了代码,但环境设置却给了我很多时间。
import java.sql.*;
public class Displayauthors {
static final String DATABASE_URL = "jdbc:sql://localhost/books";
public static void main(String args[]){
Connection connection = null;
Statement statement = null;
ResultSet resultset = null;
try{
connection = DriverManager.getConnection(DATABASE_URL, "deitel", "deitel");
statement = connection.createStatement();
resultset=statement.executeQuery("SELECT AuthorID,FirstName,LastName FROM Authors");
ResultSetMetaData metadata = resultset.getMetaData();
int numberofcolumns = metadata.getColumnCount();
System.out.println("Authors table");
for(int i=1;i<=numberofcolumns;i++){
System.out.printf("%-8s\t", metadata.getColumnName(i));
System.out.println();
}
}
catch(SQLException sqlexception){
sqlexception.printStackTrace();
}
}
}
最佳答案
您应该为MySQL数据库使用正确的uri
jdbc:mysql://localhost/dbname