I am calling below method:
boolean ans= StudentDao.insertStudentToDB(st);
but its returning false I had already referenced mysql connector-java jar file in my project, and configured CLASSPATH, I was still getting the same error. I tried too much but didn't got its satisfactory solution anywhere on any site
the stacktrace is below:
java.lang.ClassNotFoundException: com.mysql.cj.jdbc.Driver
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 com.studentManage.CP.createC(CP.java:12)
at com.studentManage.StudentDao.insertStudentToDB(StudentDao.java:9)
at com.studentManage.Start.main(Start.java:32)
java.lang.NullPointerException: Cannot invoke "java.sql.Connection.prepareStatement(String)" because "con" is null
CP.java:
package com.studentManage;
import java.sql.*;
public class CP {
static Connection con;
public static Connection createC(){
try {
//load the driver
Class.forName("com.mysql.jdbc.Driver");
//create the connection
String user ="root";
String password ="2001";
String url ="jdbc:mysql://localhost:3306/student_manage";
con = DriverManager.getConnection(url,user,password);
}catch (Exception e){
e.printStackTrace();
}
return con;
}
}
StudentDao.java:
package com.studentManage;
import java.sql.*;
public class StudentDao {
public static boolean insertStudentToDB(Student st){
//jdbc code to insert student
boolean f=false;
try {
Connection con = CP.createC();
String q= "insert into students(sname, sphone,scity) values(?,?,?);";
//prepare statement
PreparedStatement pstmt = con.prepareStatement(q);
//set values
pstmt.setString(1,st.getStudentName());
pstmt.setString(2,st.getStudentPhoneNo());
pstmt.setString(3,st.getStudentCity());
//Execute
pstmt.executeUpdate();
f=true;
} catch (Exception e) {
e.printStackTrace();
System.out.println(e);
}
return f;
}
}