我花了很多时间试图解决这个问题并遵循了许多指示但无济于事。
我正在尝试将我的程序与我的MySQL数据库连接,我已经安装了MySQL驱动程序,或者至少我认为我已经将它添加到类路径中,然后我还将其安装为用户库。
然后当我通过命令行编译时,我收到一个错误: 错误:包com.mysql.jdbc不存在
我甚至已经下载了早期版本的驱动程序jar,但这没有用,我花了8个小时试图计算出来
我的代码:
String[] settings = new String[10];
try {
FileReader fr = new FileReader("settingsFile.txt");
BufferedReader textReader = new BufferedReader(fr);
for(int i=0; i <=9; i++){
settings[i] = textReader.readLine();
}
textReader.close();
} catch (IOException e) {
JOptionPane.showMessageDialog(null, "Unable to connect to database.\nSettings file Not Found");
}
String host = settings[2];
String uName = settings[3];
String uPass = settings[4];
try {
String driver = "com.mysql.jdbc.Driver";
Class.forName(driver).newInstance();
Connection con = DriverManager.getConnection(host, uName, uPass);
JOptionPane.showMessageDialog(null, "Connection to database established");
}
catch ( SQLException | ClassNotFoundException | IllegalAccessException | InstantiationException err ) {
JOptionPane.showMessageDialog(null, err.getMessage( ) + "\n\nDid not connect.");
}
}
请帮忙,我想我对此感到灰暗。
答案 0 :(得分:-1)
如果您有
,则只能出现此错误import com.mysql.jdbc.*;
或来自该软件包的一个或多个特定导入。
解决方案:将其删除。你不需要它。您只应从java.sql
导入。
注意:自2007年以来,您还不需要Class.forName(driver).newInstance();
行。
答案 1 :(得分:-2)
首先要做的事情: 您需要检查MySQL的驱动程序是作为库还是作为JAR添加, 你想把它作为一个罐子。
您至少需要导入此包:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
你不需要:
String driver = "com.mysql.jdbc.Driver";
Class.forName(driver).newInstance();
你可以这样做:
Class.forName("com.mysql.jdbc.Driver");
同样在你的代码中我不确定你是否在连接之前向数据库发出请求,你要做的第一件事就是创建连接和连接,你不能在此之前提出请求,否则你会收到错误:
public static Connection connection= null;
public static void openConnection(){
try {
Class.forName("com.mysql.jdbc.Driver"); //you call the mysql driver so it gets loaded
connection= DriverManager.getConnection(URL_CONEXION, USER, PASSWORD); //you actually connect to the DataBase
if (connection!=null) {
JOptionPane.showMessageDialog(null,"Connection to: "+ DATA_BASE + " Successful","Attention",JOptionPane.INFORMATION_MESSAGE);
//message to show that you are actually connected
}
}catch(ClassNotFoundException | SQLException ex){
System.out.println(ex.getMessage()); // You print in console the error
}
}