在B类中,所有访问数据库的方法,走到这里就报空指针异常;B类继承A类A类有以下一些连接需要的东西:publicConnectionconn=null;publicStatementstmt=null;publicPreparedStatementpstmt=...
在B类中,所有访问数据库的方法,走到这里就报空指针异常;
B类继承A类
A类有以下一些连接需要的东西:
public Connection conn = null;
public Statement stmt = null;
public PreparedStatement pstmt = null;
public CallableStatement cstmt = null;
public ResultSet rs = null;
public String sql = null;
//B类所有方法走到这步就空指针异常,sql语句没有问题
rs = stmt.executeQuery(sql);
public void checkOutConnection() throws AppException {
if (conn != null) {
return;
}
connectionPool = ConnectionPool.getInstance();
for (int i = 1; i < 10; i++) {
conn = connectionPool.checkOut();
if (conn != null) {
break;
}
else {
try {
Thread.sleep(i * 1000);
}
catch (Exception e) {
//报错
}
}
}
if (conn == null) {
connectionPool.resetConnection();
conn = connectionPool.checkOut();
}
if (conn == null) {
throw new AppException("Retrieve JDBC connection failed",
AppException.STAT_DB_CONNECT_FAILED);
}
else {
try {
stmt = conn.createStatement();
}
catch (SQLException se) {
throw new AppException("create statement failed",
AppException.STAT_DB_CREATE_STMT_FAILED);
}
}
}
展开