我想连接我的java程序来连接数据库并检索数据。
它编译完美但运行时
我得到这个Error : Could not find or load main class
我安装了Java SQL驱动程序,并将环境变量的jar路径添加为CLASSPATH
import java.sql.*;
public class Java2Sql{
public static void main(String args[]){
String url = "jdbc:mysql://localhost:80/";
String dbName = "test";
String driver = "com.mysql.jdbc.Driver";
String userName = "root";
String password = "root";
try{
Class.forName(driver).newInstance();
Connection conn = DriverManager.getConnection(url+dbName,userName,password);
Statement stmt = conn.createStatement();
String strsql = "SELECT * FROM student";
ResultSet res = stmt.executeQuery(strsql);
while(res.next()){
System.out.println("ID :"+res.getString(1));
System.out.println("Name :"+res.getString(2));
System.out.println("Tel :"+res.getString(3));
System.out.println("City :"+res.getString(4));
}
res.close();
conn.close();
}catch(Exception e){
e.printStackTrace();
}
}
}
答案 0 :(得分:1)
清单Main-class条目中指定的类在JAR文件中不存在,或者清单中可能没有Main-class:条目。
你不需要调用Class.forName()大约七年,然后你需要渲染它来调用newInstance()。
答案 1 :(得分:1)
让我们说Java2Sql
在test
包内。
您尝试运行的代码如下所示。
package test;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class Java2Sql {
public static void main(String args[]) {
Connection connection = null;
try {
Class.forName("com.mysql.jdbc.Driver");
connection = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/test", "username", "pwd"); // Test DB
System.out.println("Connected.");
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
您需要编译和运行的命令是:
javac Java2Sql.java
java -classpath .;test/mysql-connector-java-5.0.4-bin.jar test.Java2Sql
答案 2 :(得分:0)
mysql连接的默认端口是3306.因此更改此行
String url = "jdbc:mysql://localhost:80/";
到此:
String url = "jdbc:mysql://localhost:3306/";
答案 3 :(得分:0)
您应该从HERE
下载驱动程序和JAR文件需要添加到项目类路径。
首先右键单击Eclipse Project,Project - >构建路径 - >配置构建路径。在Libraries选项卡下,单击Add Jars或“Add External JARs”并添加下载的jar
不是100%肯定,但看起来您使用了错误的端口号80.请确保您的MySQL端口号是当前的以下声明
SHOW VARIABLES WHERE Variable_name = 'port';