問題タブ [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を使用してPostreSQL DBに2次元配列を挿入しますか?
SQL オブジェクト API を使用してDBGame
の行にマップできますか? GAMES
これが私の試みです:
データクラス:
ダオ:
がinsert
呼び出されると、次のエラーが発生します。
とは[[C
? なんとかしてこれを機能させることはできますか?そうでない場合は、代替案をいただければ幸いです。
java - JDBIでIN演算子を使用するには?
Dropwizard で MYSQL JDBI を使用して IN クエリを実行しようとしています (関係ないと思います)。
hereで提案されているように、クラスにも注釈を付けました
しかし、アプリケーションを起動すると、次のエラーが発生します。
この問題を解決する方法について誰かが良い考えを持っていますか?
java - Java + MySQL + Inline User-Variables: SQL エディターでは同じクエリが機能するが、JDBD では間違った結果 (org.skife.jdbi)
次のようなクエリを実行しています。
このクエリを SequelPro (SQL エディター) で実行すると、問題なく動作します。ただし、org.skife.jdbi を (@SqlUpdate として) 使用してこれを実行すると、ユーザー定義変数 @counter は常に 1 になり、間違った更新が生成されます。
さらに、この更新クエリをストアド プロシージャにワープしてみました: - SequelPro から SP を呼び出すと、正しい結果が得られます。- JDBI から SP を呼び出すと、間違った結果が返されます (@counter == 1)。
Java が実行している SQL クエリは正しい (Java が実行しているものを確認するために MySQL ログを調べた) が、明示的なクエリを呼び出すか、自分のクエリ。
アイデア?これは JDBC または org.skife.jdbi のバグですか?
jdbi - JDBI、モデル マッパー、および SQL オブジェクト クエリ
モデル マッパーを JDBI で使用していますが、モデル マッパーを SQL オブジェクト クエリで使用できません。
たとえば、私はこの選択をしています
ドキュメントには、結果をマップするには ResultSetMapper または ResultSetMapperFactory を使用する必要があると書かれています。モデルマッパーを使用するマッパーを書きたいのですが、できるかどうかを理解するのに問題があります (以下のコードは機能しません)。ExampleMapper クラスのメソッドは次のとおりです (SqlObject で使用されるアノテーションは です
@RegisterMapper(ExampleMapper.class)
)
モデルマッパーを使用してresultSetをマップするにはどうすればよいですか? ありがとう、シルビア
java - SQL ステートメントを JDBI StatementLocator に動的に追加する
面倒なテンプレートグループファイルを使用したり、オブジェクト注釈で生の SQL を使用する機能を犠牲にしたりせずに、SQL オブジェクトで使用するために、クエリ名、ステートメント
をMap
含むコンテンツを のステートメントキャッシュに追加するにはどうすればよいですか?Handle
@Define
データベース内の各テーブルのすべての操作に対してボイラープレート SQL を記述する必要をなくすために、SQL オブジェクトのアプリの読み込み時に基本的な CRUD 操作をプログラムで生成しようとしています。問題は、@Define
SQL オブジェクト インターフェイスに@UseStringTemplate3StatementLocator
;と注釈を付ける場合にのみ機能するように見えることです。ただしStringTemplate3StatementLocator
、その場で生成されたクエリを追加するための明白な方法を提供していないようです。
java - JDBI / Dropwizard アプリケーションで @Transaction を使用する
私はこれらのような2つのjdbi daoを持っています:
次のように 1 つのトランザクションで 2 つの dao の保存を実行したい:
春には @transactional アノテーションを使用しました。dropwizard と jdbi で何ができますか?
java - AutoValue での JDBI @BindBean の使用
TLDR; 生成された型はパッケージ プライベートであり、デフォルトではリフレクションを使用してデフォルトでアクセスできないため、
JDBI@BindBean
アノテーションはwith AutoValue で生成された型を生成します。IllegalAccessException
JDBI は柔軟性がないのでしょうか、それとも AutoValue による回避策はありますか? (以下の質問全文)
簡単な背景
ソースが AutoValue を使用して生成された型でJDBI@BindBean
アノテーションを使用しようとしています。
問題は、生成されたコードが次のようになることです。
クラスがパッケージ プライベートであることに注意してください。
を使用しようとする@BindBean
と、たとえば次のようになります。
AutoValue_Foo
パッケージは非公開であり、BindBeanFactory
リフレクションを使用するためfind
、AutoValue_Foo
型で呼び出しを試みると、結果は次のようになります。
関連する JDBI コードはこちらです。Java リフレクションの観点からは、これを使用して解決できることは理解していますsetAccessible(true)
が、それには JDBI への PR が必要です。
したがって、質問は次のとおりです。
新しい JDBI マッパーを作成せず
Foo
にタイプAutoValue_Foo
をバインドできるコードを再構築する方法はありますか?@BindBean
@AutoValue
であるクラスを生成 する方法はありますかpublic
。これが一般的に望ましくない理由を理解しています(人々に実装ではなくインターフェイスを使用するように促します)。BindBeanFactory
柔軟性がありませんか?setAccessible(true)
元のパッケージの外部で利用可能なメソッドを利用する必要 がありますか?
java - Dropwizard postgres スレッドごとの新しい接続
Dropwizard に、サービスへの新しいリクエストによって生成された各スレッドが独自のデータベース接続を取得するようにする構成オプションはありますか?