私は従業員のログイン検証クラスを作成しています。そこでは、情報をmysqlデータベースに挿入できます。検証のために、行のパスワードのみを選択しようとしています。ここに私のコードがあります:
import java.sql.*;
import java.sql.PreparedStatement;
import java.sql.Connection;
public class Employee
{
private PreparedStatement statement;
private Connection con;
private String pass;
public Employee()
{
}
public Employee(String firstName, String lastName, String userID, String userPassword, String role )
{
try
{
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","");
statement = con.prepareStatement("Insert into employee(firstName, lastName, userID, " +
"password, role)values(?, ?, ?, ?, ?)");
statement.setString(1, firstName);
statement.setString(2, lastName);
statement.setString(3, userID);
statement.setString(4, userPassword);
statement.setString(5, role);
statement.executeUpdate();
con.close();
}
catch(Exception e)
{
}
}
public void setPassword(String userID)
{
try
{
statement = con.prepareStatement("SELECT * from employee WHERE userID = ?");
statement.setString(1, userID);
ResultSet rs = statement.executeQuery();
while(rs.next()){
pass = rs.getString(4);
}
}
catch(Exception e)
{
System.out.print(e);
}
}
public String getPassword()
{
return pass;
}
}
and here is my main
public class TestMain
{
public static void main(String argsp[])
{
Employee emp = new Employee();
emp.setPassword("ecka12");
}
}
ヌル ポインター例外が発生しました。理由はわかりません。