returnAllParts#queryReturnAllParts
で メソッド、変更
con.getDBConnection();
投稿者
con = getDBConnection();
問題は、con
java.sql.Connection
の変数です getDBConnection
がありません 方法。現在のreturnAllParts
以降 クラスはDBConnect
を拡張します クラスでは、public Connection getDBConnection
にアクセスできます 問題のない方法。
これは、Main#main
にあるためです クラス、DBConnect con
を宣言しました 。この変数をcon
と混同しないでください 他のメソッドで宣言された変数。
問題に直接関係していませんが、現在のコード/デザインにいくつかの改善を提案します:
-
returnAllParts
の名前を変更します 将来の読者にとってより意味のある何かのためのクラス(数日または数週間であなたでさえあなたのコードの将来の読者になるでしょう)。コードを読むと、このクラスの名前をPartList
に変更する必要があるようです。 。 - 手動で接続を取得する代わりに、データベース接続プールを使用します。 BoneCP のようにこれを処理するライブラリがあります
- おそらくプログラミングは初めてなので、正しい方法で開始し、アプリケーションをレイヤーで開発することをお勧めします(さらに読む:多層アーキテクチャ
)。これに基づいて、DAO(またはデータサービス、名前の付け方によって異なります)には、他のクライアントが必要に応じてデータを利用できる方法でデータにアクセスして取得するためのメソッドのみを含める必要があると言えます。
List<PartList>
を返す方がよい オブジェクトと、アプリケーション内の別のレイヤー(おそらくプレゼンテーションに最も近い)が、オブジェクトからJSON文字列への変換を適用します。 - 設計の観点からは、はるかに優れている データベースアクセスオブジェクトが
DBConnect
を使用している場合 オブジェクトから拡張するのではなく、オブジェクト。このようにして、単一のDBConnect
を持つことができます。 関連するすべてのDAOに関連付けられたデータベース接続構成ごとのオブジェクト。