問題タブ [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 - JDBCとJDBIの違いは何ですか?
JavaでのJDBCとJDBIの違いについて知りたいです。特に、一般的にどちらが優れているのか、そしてその理由は何ですか?
java - データベースは、最初の要求で毎日 Unable to Close Resource 例外をスローします
サーバーに毎日届く最初のリクエストで、次の例外が発生します: org.skife.jdbi.v2.exceptions.UnableToCloseResourceException: Unable to close Connection
. 最初のリクエストの後、後続のリクエストは翌日まで問題なくデータベースにアクセスできます。jdbi と mysql db を使用しています。
jdbc - jdbi でのトランザクション
jdbi inTransaction() 関数を使用して、SQL クエリをトランザクションとして実行します。内部でどのようなロック機構が使用されているかを知りたいです。さらに、トランザクション中にテーブル全体がロックされていますか、それとも更新する必要があるレコードだけですか?
java - JDBIはUUIDパラメーターを受け入れますか?
SQLオブジェクトの引数バインディングを使用する場合、JDBIはUUIDパラメーターですぐに機能しますか?
私はこのような方法を持っています:
これは、次のようなパラメーターを受け取るSQLServerストアドプロシージャにバインドされています。
実行されると、次の例外がスローされます。
JDBIのパラメータータイプをStringに変更し、UUIDオブジェクトからtoString()メソッドを使用して呼び出すと、次のように機能します。
UUIDパラメーターを受け入れるDAOメソッドを記述し、バインドする前にそれらを文字列に変換する方法はありますか?
java - Playframework1.2.5およびJDBI
Play 1.2.5でJDBIを使用しようとしていますが、データベース接続が不足するという問題があります。H2インメモリデータベース(application.conf、db = mem)を使用しています
PlayのDB.datasourceを使用するjdbiインスタンスを取得するクラスを次のように作成しました。
データベース呼び出しを行うたびに、新しいDBIインスタンスが作成されますが、常に同じ静的DataSourceオブジェクト(play.db.DB.datasource)をラップします。
何が起こっているのか、しばらくすると私は次のようになります:
CallbackFailedException occured : org.skife.jdbi.v2.exceptions.UnableToObtainConnectionException: java.sql.SQLException: An attempt by a client to checkout a Connection has timed out.
DBI.withHandle()とDBI.withTransaction()の全体的なポイントは、コールバックメソッドが完了したときに接続を閉じてリソースを解放することであるため、混乱しています。
またgetDatabase()
、毎回同じDBIインスタンスを返すようにしましたが、同じ問題が発生しました。
私は何が間違っているのですか?
java - クラスをあざける問題
JDBIのQueryクラスをmockitoでモックしようとしていますが、基本クラスのメソッドをモックできませんSqlStatement
。
以下のコードを実行すると、whenステートメントは実際に基本クラスの具象実装を呼び出しており、で失敗しNullPointerException
ます。
EasyMockでもこれを試しましたが、同じ結果が得られましたが、このメソッドをモックできません。
より詳しい情報:
- Mockitoのバージョンは1.9.5です
- JDBIのバージョンは2.4.1(現在dropwizardに同梱されているもの)です。
例外は次のとおりです。
これを回避する方法はありますか?
java - JDBI SQL オブジェクト クエリの動的な順序
JDBI で SQL オブジェクト クエリを使用して順序付けを行うにはどうすればよいですか?
私は次のようなことをしたい:
また
objectquery - 引用符内のクエリで変数に @bind を使用する JDBI
これが可能かどうか/どのように可能か疑問に思っています。可能であれば、私が理解できないように見える単純な修正だと確信しています
基本的に、このおもちゃの例では、列に [任意のテキスト]thingName[任意のテキスト] が含まれる行を選択しようとしています。上記のように使用すると、引用符がバインドされた変数を覆い隠していると思うので、バインドされた変数ではなく、文字通り [any text] :thingName [anyText] を探します。
前もってありがとう、マデリーン
java - JDBI の Sql オブジェクト API を使用して実行時に動的 SQL クエリを作成するにはどうすればよいですか?
私は既存のプロジェクトを jdbc から jdbi に移行しており、jdbi の美しい SQL オブジェクト API を大いに活用しています。私たちはmysqlを使用しています。
SQL オブジェクト API は、コンパイル時に認識される処理済みクエリを構築できますが、実行時にクエリを生成する方法を見つけることができませんでした。
具体的には、次のようなことができるようになりたいです。