我有我的數據庫包中的這兩個類:(DBManager和TaskManager類) 和我創建一個新的對象在我的主框架是在另一個包中,我也導入數據庫包對於我的主框架,我在我的對象上調用了addBirth(),並且我想在MySQL的table =「birthsql」中插入這些參數,但是我發現這個異常並且寫入了「SERVER = NULL」。使用MySQL和數據庫,並有ClassNotFoundException
創建一個對象 - > TaskManager tm = new TaskManager(); 對我的對象調用addBirth()方法 - >,tm.addBirth(3,「Neda」,「Rahmani」,「Mansour」,「Sima」,「December」,「Tehran」);
我的任務管理器類:
public class TaskManager {
private int BirthID = 2;
Logger logger = Logger.getLogger(this.getClass().getName());
private Connection conn = DBManager.getConnection();
public int getID()
{
return BirthID++;
}
public void addBirth(int BirthID, String name, String family, String fatherName, String motherName, String DateOfBirth, String PlaceOfBirth) {
try {
Statement stm = conn.createStatement();
stm.executeUpdate("INSERT INTO birthsql (name," + "family," + "fatherName," + "motherName," + "DateOfBirth, " + "PlaceOfBirth)" + "VALUES (" + BirthID + ", '" + name + "', '" + family + "', '" + fatherName + "', '" + DateOfBirth + "', '" + PlaceOfBirth + "')");
} catch (SQLException ex) {
Logger.getLogger(TaskManager.class.getName()).log(Level.SEVERE, null, ex);
}
}}
我DBManager類:
public class DBManager {
private static Logger log = Logger.getLogger(DBManager.class.getName());
private static Connection connection = null;
private final static String DB_URL = "jdbc:mysql://localhost:3306/assignment_2";
private final static String DB_USERID = "root";
private final static String DB_PASSWORD = "123";
public static Connection getConnection()
{
if (connection == null)
{
try {
/* Your code here */
Class.forName("com.mysql.jdbc.Driver");
connection = DriverManager.getConnection(DB_URL, DB_USERID, DB_PASSWORD);
} catch (SQLException ex) {
Logger.Dec 10, 2009 6:44:05 AM database.DBManager getConnection
} catch (ClassNotFoundException ex) {
Logger.getLogger(DBManager.class.getName()).log(Level.SEVERE, null, ex);
}
}
return connection;
}}
堆棧跟蹤:
Dec 10, 2009 6:44:05 AM database.DBManager getConnection
SEVERE: null
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at database.DBManager.getConnection(DBManager.java:32)
at database.TaskManager.<init>(TaskManager.java:21)
at adminFrame.AdminFrame.<init>(AdminFrame.java:29)
at adminFrame.AdminFrame$4.run(AdminFrame.java:239)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at database.TaskManager.addBirth(TaskManager.java:30)
at adminFrame.AdminFrame.<init>(AdminFrame.java:46)
at adminFrame.AdminFrame$4.run(AdminFrame.java:239)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:121
你得到了什麼異常(stacktrace,請)? – Thilo 2009-12-10 03:10:00
-1 - @Johanna - 您一直在使用Java ...和SO ...足夠長的時間,以至於不再需要提醒您包含堆棧跟蹤和相關行號。讓你的行爲一起好友! – 2009-12-10 03:16:05
你在哪裏運行代碼?你怎麼知道它在你的類路徑中? – 2009-12-10 04:24:34