問題タブ [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.

0 投票する
1 に答える
705 参照

java - JDBIを使用してPostreSQL DBに2次元配列を挿入しますか?

SQL オブジェクト API を使用してDBGameの行にマップできますか? GAMESこれが私の試みです:

データクラス:

ダオ:

insert呼び出されると、次のエラーが発生します。

とは[[C? なんとかしてこれを機能させることはできますか?そうでない場合は、代替案をいただければ幸いです。

0 投票する
2 に答える
745 参照

java - JDBIを使用して2次元配列をPostgreSQL DBからJava 2次元配列に変換するには?

Postgres DB の 2d char 配列をネイティブ Java char[][] に変換するにはどうすればよいですか? これは、この回答に基づく私の試みです:

データクラス:

ダオ:

しかし、これはキャストエラーになります:

代わりにResultSetを使用する必要がありますか?

0 投票する
2 に答える
7925 参照

java - JDBIでIN演算子を使用するには?

Dropwizard で MYSQL JDBI を使用して IN クエリを実行しようとしています (関係ないと思います)。

hereで提案されているように、クラスにも注釈を付けました

しかし、アプリケーションを起動すると、次のエラーが発生します。

この問題を解決する方法について誰かが良い考えを持っていますか?

0 投票する
1 に答える
218 参照

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 のバグですか?

0 投票する
1 に答える
1046 参照

jdbi - JDBI、モデル マッパー、および SQL オブジェクト クエリ

モデル マッパーを JDBI で使用していますが、モデル マッパーを SQL オブジェクト クエリで使用できません。

たとえば、私はこの選択をしています

ドキュメントには、結果をマップするには ResultSetMapper または ResultSetMapperFactory を使用する必要があると書かれています。モデルマッパーを使用するマッパーを書きたいのですが、できるかどうかを理解するのに問題があります (以下のコードは機能しません)。ExampleMapper クラスのメソッドは次のとおりです (SqlObject で使用されるアノテーションは です @RegisterMapper(ExampleMapper.class) )

モデルマッパーを使用してresultSetをマップするにはどうすればよいですか? ありがとう、シルビア

0 投票する
1 に答える
746 参照

java - SQL ステートメントを JDBI StatementLocator に動的に追加する

面倒なテンプレートグループファイルを使用したり、オブジェクト注釈で生の SQL を使用する機能を犠牲にしたりせずに、SQL オブジェクトで使用するために、クエリ名、ステートメントMap含むコンテンツを のステートメントキャッシュに追加するにはどうすればよいですか?Handle@Define

データベース内の各テーブルのすべての操作に対してボイラープレート SQL を記述する必要をなくすために、SQL オブジェクトのアプリの読み込み時に基本的な CRUD 操作をプログラムで生成しようとしています。問題は、@DefineSQL オブジェクト インターフェイスに@UseStringTemplate3StatementLocator;と注釈を付ける場合にのみ機能するように見えることです。ただしStringTemplate3StatementLocator、その場で生成されたクエリを追加するための明白な方法を提供していないようです。

0 投票する
5 に答える
9899 参照

java - JDBI / Dropwizard アプリケーションで @Transaction を使用する

私はこれらのような2つのjdbi daoを持っています:

次のように 1 つのトランザクションで 2 つの dao の保存を実行したい:

春には @transactional アノテーションを使用しました。dropwizard と jdbi で何ができますか?

0 投票する
1 に答える
658 参照

java - AutoValue での JDBI @BindBean の使用

TLDR; 生成された型はパッケージ プライベートであり、デフォルトではリフレクションを使用してデフォルトでアクセスできないため、 JDBI@BindBeanアノテーションはwith AutoValue で生成された型を生成します。IllegalAccessException

JDBI は柔軟性がないのでしょうか、それとも AutoValue による回避策はありますか? (以下の質問全文)

簡単な背景

ソースが AutoValue を使用して生成された型でJDBI@BindBeanアノテーションを使用しようとしています。

問題は、生成されたコードが次のようになることです。

クラスがパッケージ プライベートであることに注意してください。

を使用しようとする@BindBeanと、たとえば次のようになります。

AutoValue_Fooパッケージは非公開であり、BindBeanFactoryリフレクションを使用するためfindAutoValue_Foo型で呼び出しを試みると、結果は次のようになります。

関連する JDBI コードはこちらです。Java リフレクションの観点からは、これを使用して解決できることは理解していますsetAccessible(true)が、それには JDBI への PR が必要です。

したがって、質問は次のとおりです。

  1. 新しい JDBI マッパーを作成せずFooにタイプAutoValue_Fooをバインドできるコードを再構築する方法はありますか?@BindBean

  2. @AutoValueであるクラスを生成 する方法はありますかpublic。これが一般的に望ましくない理由を理解しています(人々に実装ではなくインターフェイスを使用するように促します)。

  3. BindBeanFactory柔軟性がありませんか?setAccessible(true)元のパッケージの外部で利用可能なメソッドを利用する必要 がありますか?

0 投票する
0 に答える
363 参照

java - Dropwizard postgres スレッドごとの新しい接続

Dropwizard に、サービスへの新しいリクエストによって生成された各スレッドが独自のデータベース接続を取得するようにする構成オプションはありますか?