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

JDBCorg​​.postgresql.Driverをロードしているクラスが見つかりません

    私はウェブプロジェクトに取り組んでいます 最近、postgres9.1.1をインストールしました

    ...

    プロジェクトのプロパティを使用してJavaビルドパスに追加しました 日食を介して。

    それは間違った方法です。そのJARは/WEB-INF/libに直接ドロップする必要があります ビルドパスをいじらずにWebプロジェクトのフォルダ プロジェクトのプロパティで。そのフォルダは、Webアプリケーションのランタイムクラスパスの標準部分です。

    無関係 具体的な問題:DBConnectionに大きな設計上の欠陥があります クラス。 Connectionを宣言しました staticとして これにより、基本的に接続がスレッドセーフではなくなります 。接続プールを使用し、Connectionを割り当てないでください (またはStatement ResultSetでもありません )クラス/インスタンス変数として。それらは、まったく同じtry-finallyで作成および閉じる必要があります クエリを実行している場所としてブロックします。さらに、SQLインジェクションの穴もあります。 PreparedStatementを使用する SQL文字列でユーザー制御変数を連結する代わりに。

    関連項目:

    • 接続プールの枯渇を回避するためのJDBCMySql接続プールの実践
    • 接続プールからデータベース接続を取得する
    • JDBC接続プールを使用していますか?


    1. Include()を何度も使用すると、Entity-Frameworkコードが遅くなります

    2. json、jsonb、hstore、xml、enum、ipaddrなどの保存は、列xがタイプjsonで失敗しますが、式はタイプ文字が異なります

    3. SQL Server 2016:ログインを作成する

    4. [ビデオ]AnsibleとPostgreSQL