jdbc的nullpointexception异常



jdbc的nullpointexception空指针异常。java一般把jdbc的数据库操作封装成BaseDao类,实体的数据库处理将继承BaseDao类,完成相应的的数据库操作。
在BaseDao类中声明变量
   protected Connection conn = null;
   protected PreparedStatement pstmt = null;
   protected ResultSet rs = null;

加入将修饰符改为private,子类将无法使用以上变量,必须再次声明
   private Connection conn = null;
   private PreparedStatement pstmt = null;
   private ResultSet rs = null;
但是在测试类方法时一定会报空指针异常,这个错误完全抓不到重点,后台会将错误指向下面这一行代码:
        pstmt = conn.prepareStatment();
改行代码将不会执行,而且直接跳出try catch,执行finally后的代码。即使你获得了一个数据库连接 super.getConn();前提是数据库连接的方法你是这么写的:public void getConn();
但在该类中声明了变量conn为空,必然会报空指针错误!
如果你之前写获得数据库的方法如下:
public Connection getConn();将不会出现这个错误,原因是你返回了一个Connection,并且在方法中再次赋值了,conn!=null