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

JdbcTemplateを使用するときに一重引用符をエスケープする

    PreparedStatement を使用します 。このように、プレースホルダーを指定すると、JDBCドライバーは、データベースにステートメントとパラメーターを引数として送信することにより、これを正しく実行します。

        String updateStatement =
        "update " + dbName + ".COFFEES " +
        "set TOTAL = TOTAL + ? " +
        "where COF_NAME = ?";
    
        PreparedStatement updateTotal = con.prepareStatement(updateStatement);
        updateTotal.setInt(1, e.getValue().intValue());
        updateTotal.setString(2, e.getKey());
    

    上記の疑問符はプレースホルダーを表しています。

    これらの値はパラメーターとして渡されるため、引用符で問題が発生することはなく、SQLから保護されます。インジェクション



    1. クエリ:データベースフィールドで文字列を検索

    2. SERIALのようなINT列

    3. Windowsmysql-pythonで文字セットutf8mb4を初期化できません

    4. プライマリインデックスの番号を付け直す方法