2016-09-17 90 views
0

我一直在使用这个JDBC连接在我的所有类中必须运行查询,但我创建了一个新的类,我不希望构造函数与从JDBC类DConnection的参数(主数据库类)。 但我一直在获取NullPointExceptions。反正可以找出那个问题可能是什么。 谢谢。对所有类使用一个jdbc连接类java

public class UsersDao { 

    // associating the Database Connection objekt 
    private DConnector connector; 

    private final Connection myConn; 
    // Constructor 
    public UsersDao() throws CZeitExceptionHand,SQLException { 
      myConn = connector.getConnenction(); 
    } 
    public boolean updateUsers(String mitarb, int mid) throws SQLException{ 
     // PreparedStatement myStmt = null; 
     Statement stmt = myConn.createStatement(); 
     try { 
     String myStmt = "SELECT Bly " 
         + "" + mid + ";"; 
     return stmt.execute(myStmt); 

     } finally { 
      close(stmt); 
     } 
    } 

实施例这样的方法,其工作,但在不同类

String[][] getAllTheWorkers(DConnector connector) throws CZeitExceptionHand { 
     try { 
      Connection connect = connector.getConnenction(); 
      Statement stmt = connect.createStatement(); 
      ResultSet result = stmt.executeQuery("SELECT "); 
      result.last(); 
      int nt = result.getRow(); 
      result.beforeFirst(); 

      } 
      return results; 
     } catch (SQLException e) { 
      throw new CZeitExceptionHand("Error: " + e); 
     } 
    } 
+0

你可以在这里定义你的连接器:'private DConnector connector;'但是你永远不会初始化它,因此当你尝试在这里使用它时它是空的'myConn = connector.getConnenction();' –

+0

它,因为是一个被称为或关联的对象。所以我不知道可能会给我一个例子。 – wandaga1

+0

我的意思是将它设置为等于某个东西,或者使用'new'关键字来创建一个新的对象。例如:'private DConnector connector = new DConnector();' –

回答

0

目的似乎没有被初始化。 你可以请张贴哪个方法不工作,并从它被调用的地方?

P.S:无法添加评论 - 这就是为什么回答!

+0

class UsersDao需要从数据库连接其所有方法。但我不想在这个类中实现数据库连接,因为我已经有一个连接(DConnector)类,我用于其他类。现在我需要在类的UsersDao构造函数中使用它,我一直在获取空指针。 – wandaga1

+0

是的,在这种情况下,您需要正确初始化连接。为“myConn”添加getter和setter应该会很有帮助 – Pat