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

String []パラメータをネイティブクエリに設定するにはどうすればよいですか?

    答えるのがとても遅いです。

    このソリューションは、postgreSQLの組み込み関数を使用した一種の回避策であり、私にとっては間違いなく機能しました。

    参照ブログ

    1)文字列配列をカンマ区切りの文字列に変換する

    Java8を使用している場合、それは非常に簡単です。他のオプションはここにあります

    String commaSeparatedString = String.join(",",stringArray); // Java8 feature
    

    2)PostgreSQL組み込み関数string_to_array()

    他のpostgreSQL配列関数はここにあります

    // tableName ( name text, string_array_column_name text[] )
    
    String query = "insert into tableName(name,string_array_column_name ) values(?, string_to_array(?,',') )";
    
    
    int[] types = new int[] { Types.VARCHAR, Types.VARCHAR};
    
    Object[] psParams = new Object[] {"Dhruvil Thaker",commaSeparatedString };
    
    jdbcTemplate.batchUpdate(query, psParams ,types); // assuming you have jdbctemplate instance
    


    1. OracleのBIN_TO_NUM()関数

    2. マルチクラウドデータベースでのPostgreSQLスプリットブレインの排除

    3. sp_updatestatsを回避するもう1つの理由

    4. MariaDBバックアップへの移行