I am using netbeans 12 with jdk 17. On building and running the following code, I get this error and no output is shown:
java.lang.ClassNotFoundException: org.apache.derby.jdbc.ClientDriver
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:375)
at bookclass.Bookclass.main(Bookclass.java:114)
BUILD SUCCESSFUL (total time: 0 seconds)
I have added all the jar files namely derby.jar, derbyshared.jar, derbyclient.jar, etc.
Code:
package bookclass;
import java.sql.*;
import java.util.*;
class books {
void insert() {
try {
Scanner in = new Scanner(System.in);
Connection con = DriverManager.getConnection("jdbc:derby://localhost:1527/library");
Statement st = con.createStatement();
String s = "insert into bookstb values(" + id + ", '" + t + "', '" + p + "', '" + a + "', " + c + ", " + pr + ")";
int x = st.executeUpdate(s);
System.out.println("No. of rows inserted: " + x);
st.close();
con.close();
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
}
public class Bookclass {
public static void main(String[] args) {
// TODO code application logic here
try {
Scanner in = new Scanner(System.in);
Class.forName("org.apache.derby.jdbc.ClientDriver");
int ch;
do {
System.out.println("1.Insert 2.Update 3.Delete 4.Display 5.Exit\nEnter your choice:");
ch = in.nextInt();
books b = new books();
switch (ch) {
case 1:
b.insert();
break;
case 2:
b.update();
break;
case 3:
b.delete();
break;
case 4:
b.display();
break;
case 5:
System.exit(0);
break;
}
} while (ch != 5);
} catch (Exception e) {
//System.out.println(e.getMessage());
e.printStackTrace();
}
}
}
I have tried all the possible solutions available but none solve my issue.