如何在将数据库从ms access转换为mysql后运行Java项目
我已经将一个java项目ms access数据库转换为mysql,并从localhost wamp服务器运行它。现在我已经将数据库连接到Netbeans java项目。但我无法运行该项目。它说构建失败了。有没有什么特别的原因使它不起作用?这是我建立的连接的代码如何在将数据库从ms access转换为mysql后运行Java项目,java,mysql,jdbc,Java,Mysql,Jdbc,我已经将一个java项目ms access数据库转换为mysql,并从localhost wamp服务器运行它。现在我已经将数据库连接到Netbeans java项目。但我无法运行该项目。它说构建失败了。有没有什么特别的原因使它不起作用?这是我建立的连接的代码 import java.awt.Dimension; import java.awt.Toolkit; import java.sql.Connection; import java.sql.DriverManager; public
import java.awt.Dimension;
import java.awt.Toolkit;
import java.sql.Connection;
import java.sql.DriverManager;
public class Settings {
public static Dimension getScreenSize(){
Dimension d=Toolkit.getDefaultToolkit().getScreenSize();
return d;
}//getScreenSize() closed
public static Connection getDBConnection(){
Connection con;
try{
Class.forName("java.sql.Driver");
con=DriverManager.getConnection("jdbc:mysql://localhost:3306/student?zeroDateTimeBehavior=convertToNull","root","root");
return con;
}catch(Exception ex){
return null;
}
}
}//class closed
我对其他试图连接到数据库的.java文件进行了更改。例如,login.java文件具有我已更改的连接:
public void actionPerformed(ActionEvent e) {
if (e.getSource() == btnLogin) {
try {
Class.forName("java.sql.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/student?zeroDateTimeBehavior=convertToNull","root","root");
请推荐我
我得到的例外是:
Exception in thread "main" java.lang.NullPointerException
at javax.swing.ImageIcon.<init>(ImageIcon.java:217)
at Login.<init>(Login.java:36)
at Login.main(Login.java:90)
C:\Users\MyPc\AppData\Local\NetBeans\Cache\8.1\executor-snippets\run.xml:53: Java returned: 1
线程“main”java.lang.NullPointerException中的异常
位于javax.swing.ImageIcon.(ImageIcon.java:217)
登录时。(Login.java:36)
在Login.main(Login.java:90)
C:\Users\MyPc\AppData\Local\NetBeans\Cache\8.1\executor snippets\run.xml:53:Java返回:1
构建失败(总时间:1秒)“java.sql.Driver”是驱动程序的接口,因此不是实现。您需要加载mysql的驱动程序
尝试改变
java.sql.Driver
到
和:不要这样抑制异常:
}catch(Exception ex){
return null;
}
你永远不知道哪里出了问题。至少在此处打印异常:
}catch(Exception ex){
ex.printStackTrace();
return null;
}
不走运地更改了此设置。至少从2006年起,就不需要使用
Class.forName
(假设驱动程序符合JDBC 4)。是否打印了异常?抛出了什么异常?是的,我抛出了。我已经编辑了这个问题,并在问题的末尾提到了异常。你的异常说有一个错误与mysql无关,但与swing有关。可能会对此进行调查并在必要时提出新问题。您正在接受异常,至少要记录该异常(或使用ex.printStackTrace
)。
}catch(Exception ex){
ex.printStackTrace();
return null;
}