sql >> データベース >  >> RDS >> Mysql

接続付きのJavaMysqlクエリデータベース

    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に関連付けられたデータベース接続構成ごとのオブジェクト。


    1. テンプレートデータベースコレクションのコーディングを変更する方法

    2. PHP/MySQLiクエリを使用したAjax呼び出しが間違った結果を返す

    3. 親列の値に依存する複合一意性制約を適用します

    4. DELETEステートメントのMySQLLIMIT