問題タブ [jdbi]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - JDBIのassertThatの目的は何ですか?
github で見つけたコードベースを調べています。次の関数を含む一連の行がコード内に見つかりましたassertThat
。
mysql - JDBI ALTER TABLE DROP PARTITION
JDBI を使用してテーブル パーティションを変更する際に問題が発生しました。実行しようとしているクエリの例を次に示します。
テーブル「table1」からパーティション「P_1」を削除すると、これは MySQL で正常に実行されます。
次のようにJavaコードに実装しました。
そして、この関数をそのように呼び出します
ただし、これにより次のエラーが発生します。
原因: org.skife.jdbi.v2.exceptions.UnableToExecuteStatementException: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: SQL 構文にエラーがあります。1 行目の ''P_1'' 付近で使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください [ステートメント:"ALTER TABLE table1 DROP PARTITION :partition;", located:"ALTER TABLE table1 DROP PARTITION :partition; "、書き換え:"/* HiveDropBoxDBI.deletePartition */ ALTER TABLE table1 DROP PARTITION ?;"、引数:{位置:{}、名前付き:{パーティション:'P_1'}、ファインダー:[]}]
この機能はサポートされていませんか? または、構文に何か不足していますか?
ありがとう
postgresql - 型注釈を使用する場合の JDBI クエリ?
Dropwizard docsに従って、データベースに接続する必要がある Dropwizard アプリを作成し、SQL オブジェクトを使用して DB をクエリしています。
私が直面している問題は、クエリが型指定子 ( ::
) を使用していて、バインディング変数と混同されている場合です。何かのようなもの
SELECT
(a,
b,
c)::user_type
FROM ...
WHERE id = :id
パーサーは::user_type
パラメーター プレースホルダーとして読み取ります。でそれらをエスケープすると\
、クエリは行を返さないと言われますが、クエリを実行すると行が返されるpsql
ので、それほど単純ではないと推測しています。どんな助けでも大歓迎です。
ありがとう!:D
java - Javaからmssql DBから何百万ものレコードを取得するための最適でメモリセーフな方法は?
約 600 万件のレコードを含むテーブルがあります。ID
Java で処理するには、各行の を取得する必要があります。これID
は英数字の nvarchar(8) です。これをメモリセーフで効率的な方法で行いたいと思います。
以下は私のアプローチです。その中で、上位 1000 レコードを選択します。それらを処理します。ID が最後のレコード セットの最大 ID より大きい次の 1000 レコードを選択します。1000 レコード未満のセットを取得するまで続行します。
私の戦略はメモリセーフな方法ですべてのレコードを取得すると信じていますが、より高速で優れた戦略があるかどうかはわかりません。(また、戦略がすべてのレコードを取得することも肯定的ではありません。より多くのリソースを備えた環境でテストする必要があります。私の環境は非常に不安定です)。
java - jdbiを使用してpostgresqlにネストされたjsonを保存するのに助けが必要
dropwizard と jdbi で JSONB データ型を使用して、postgresql 9.4 データベースに JSON を保存しようとしています。データを保存することはできますが、json が 1 つのレベルより深くなると、json はネストされた json ではなく文字列に変換されます。
たとえば、次のjson
実際には次のように保存されます
私のDAOのメソッドシグネチャは
明らかに何か問題がありますが、このネストされたデータを保存する正しい方法を理解できないようです。
jdbi - JDBI @GetGeneratedKeys を Mapper と組み合わせる方法
JDBI で自動生成された主キー (Long 値) を別のクラスに変換してほしい。
私のDAO:
}
私のマッパー:
コードを実行すると、 FigureItOutResultSetMapper.map(..) で NullPointerException が発生しました。
f を null に設定します。したがって、私のマッパーが正しく登録されていないと思います。
@RegisterMapper および @Mapper(SystemIdMapper.class) アノテーションを使用することを除いて、私も試しました:
しかし、まだ運がありません。
java - データベース関数の引用符内の JDBI バインディング値
jdbiを使用してPostGISデータベースへの空間クエリを作成しようとしています.作成しようとしているクエリは
これをしようとしている
この例外の結果
問題は引用符内の何かにバインドしようとしていると思われます。バインド値として「POINT( val val )」を使用して、それをいくつかの:pointにバインドしようとしましたが、それもうまくいきませんでした。これどうやってやるの?
java - @SingleValueResult は何をしますか?
何をし@SingleValueResult
ますか?「単一値の結果」という制約を課しますか?
フルネーム:org.skife.jdbi.v2.sqlobject.customizers.SingleValueResult
これに関するいくつかのリンクを次に示します。