我正在尝试将数据库中的某些值插入到ArrayList中。我猜方法showMeeting()存在一些问题。希望你们能理解从控制台获得的一些信息。
public ArrayList<String> showMeeting() {
ArrayList<String> output = new ArrayList<String>();
try {
Class.forName(driverName).newInstance();
con = DriverManager.getConnection(url + dbName, userName, password);
try {
Statement st = con.createStatement();
String meetID = "SELECT meetID FROM Meeting";
ResultSet rs = st.executeQuery(meetID);
while(rs.next()){
output.add(rs.toString());
}
} catch (SQLException s) {
System.out.println("Wrong sql-query");
}
con.close();
} catch (Exception e) {
e.printStackTrace();
}
return output;
}
public static void main(String[] args) {
InteractWithDatabase2 test = new InteractWithDatabase2();
ArrayList<String> meetID = test.showMeeting();
String meetings = "";
for (int i = 0; i <meetID.size(); i++) {
meetings += meetID.get(i) + "\n";
}
System.out.println(meetings);
}
当我尝试在Eclipse中运行它时,我收到此消息:
抛出java.lang.ClassNotFoundException: com.mysql.jdbc.Driver at java.net.URLClassLoader的$ 1.run(URLClassLoader.java:202) 在 java.security.AccessController.doPrivileged(母语 方法)at java.net.URLClassLoader.findClass(URLClassLoader.java:190) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:307) 在 sun.misc.Launcher $ AppClassLoader.loadClass(Launcher.java:301) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:248) at java.lang.Class.forName0(Native 方法)at java.lang.Class.forName(Class.java:169) 在 no.ntnu.fp.model.InteractWithDatabase2.visMoter(InteractWithDatabase2.java:107) 在 no.ntnu.fp.model.InteractWithDatabase2.main(InteractWithDatabase2.java:127)
答案 0 :(得分:2)
您的代码似乎没有错,您只是在类路径上缺少mysql连接器.jar。
您可以从the download page或通过Maven下载:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.15</version>
</dependency>
答案 1 :(得分:0)
只需将您的mysqlXXX.jar文件添加到正确的目录中..然后它就可以工作..