I am learning java and i came across this error. I think Statement stmt = null
is causing the error. Any help would be appreciated.
Here is the code i have written:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
class Database {
public static void main(String args[]) {
Connection conn = null;
Statement stmt = null;
try {
Class.forName("com.mysql.cj.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost/test", "root", "");
System.out.println("DB CONNECTED!");
conn.createStatement();
String sql = "SELECT * FROM emp";
ResultSet rs = stmt.executeQuery(sql);
while (rs.next()) {
System.out.println("I am " + rs.getString("name") + " and i live in " + rs.getString("city")
+ ". Btw i am " + rs.getInt("age") + " of age.");
}
} catch (Exception e) {
e.printStackTrace();
// System.out.println("Error: " + e.toString());
}
}
}
Error i am getting:
java.lang.NullPointerException: Cannot invoke "java.sql.Statement.executeQuery(String)" because "<local2>" is null
at Database.main(db.java:16)