問題タブ [spring-jdbc]
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 - JdbcTemplateを使用したページクエリ
私は現在、古いデータベースから新しいデータベースにデータを移行するための移行プロジェクトに取り組んでいます(このためにJavaアプリケーションを使用する理由を尋ねないでください。お客様が必要としているものです)。
私が今更新しているいくつかの初期のコードがありました。私が変更していることの1つは、JdbcTemplate
そこにあったボイラープレートコードではなく、Springのコードを使用することです。
JdbcTemplate
残念ながら、古いコードに類似したページングクエリを実行する方法はまだ見つかりませんでした。
プレーンJDBCコードで作成されgetConnection()
たオブジェクトを返すだけです(またはフレームワーク実装の一部ではありません)。Connection
SessionFactory
次に、結果セットをループして、行を1つずつマッピングします。で同じ機能を実現する簡単な方法があるかどうか誰かが知っていJdbcTemplate
ますか?
TIA
spring - Spring JDBC を使用してトランザクションに新しい親子レコードを挿入する際のエラー
1対多の関係を持つ2つのテーブル(アイテムとコード)があります(1つのアイテムに多くのコードを含めることができます-これは外部キーを使用してdbレベルで実装されます)。
Spring JDBCを使用して1つのトランザクションに1つのアイテムレコードと複数のコードレコード(それらはそのアイテムレコードにリンクされています)を挿入しようとすると、
これが私のdbコードへの挿入です。
java - このスプリング クラス BatchPreparedStatementSetter の用途は何ですか?
彼の春のクラスについて簡単に説明してくれる人はいますか
java - SimpleJdbcCall:Microsoft/Sybaseストアドプロシージャ呼び出しの結果を取得します
結果を「return@value」として返すMicrosoftとSybaseのストアドプロシージャがあります。SimpleJdbcCallを介してJavaから値を読み取る必要があります。
出来ますか?
java - JPA vs Spring JdbcTemplate
新しいプロジェクトの場合、JPA は常にリレーショナル データを処理するための推奨ツールですか、それとも Spring JdbcTemplate がより良い選択であるシナリオはありますか? 回答で考慮すべきいくつかの要素:
- 新しいデータベース スキーマと既存のスキーマおよびテーブル
- 開発者の専門知識のレベル
- データ キャッシング レイヤとの統合が容易
- パフォーマンス
- 考慮すべきその他の関連要因はありますか?
oracle - Spring JDBC での Oracle の DBMS_APPLICATION_INFO パッケージの使用
当社の Web アプリケーションは現在、Oracle データベースに対して直接 JDBC 呼び出しを行っています。静的な getConnection(String client) メソッドで DBMS_APPLICATION_INFO パッケージへの呼び出しを使用して、各接続にタグを付けます。
これは時々役立つことが証明されており、Spring JDBC に切り替えるときもこれを継続したいと考えています。
各クエリをトランザクションにして、クエリ (または複数のクエリ) を実行する前に DBMS_APPLICATION_INFO を呼び出すと、これはうまくいくと思いますが、現在接続を確立しているすべての場所に上記のコードを追加する必要があります。Spring JDBC は各クエリで接続を開いたり閉じたりするため、トランザクションの外では不可能のようです。
Spring JDBC では、現在行っているように内部で DBMS_APPLICATION_INFO を呼び出し、接続にタグを付ける文字列を渡す方法はありますか?
ありがとう!
java - Tomcat DBCP と複数のデータソースを使用した Spring JDBC
私はSpringを複数のデータソース(複数のmysql dbにケータリング)で使用し、tomcat dbcpを使用しています。次のような奇妙な例外が発生しています
- プロシージャが見つかりません - プロシージャがデータベースに確実に存在する場合
- プールから借用できません - ローカル開発セットアップなので、間違いなくプールはいっぱいではありません
私が感じる問題はこれかもしれません、みんなからの入力が必要です:
で 1 つのjdbcTemplate
オブジェクトを定義し、起動するspring.xml
必要があるすべてのクエリで、呼び出しjdbcTemplate.setDataSource()
て適切なデータソースを設定し、それを使用simplejdbccall(jdbctemplate)
して proc を実行します。
複数のjdbcTemplate
オブジェクト、つまり定義されたデータソースごとに 1 つも定義する必要があります。でデータソースを設定しjdbctemplate
、ストアド プロシージャを実行している Bean は として定義されていprototype
ます。
spring - DataSourceTransactionManagerとアクティブなトランザクションのテスト
org.springframework.jdbc.datasource.DataSourceTransactionManager
トランザクションの管理に使用するシンプルなアプリがあります。私の春の設定は次のとおりです。
メソッドに注釈を付けて@Transactional
印刷しましたTransactionSynchronizationManager.isActualTransactionActive()
しかし、出力はですfalse
。私は何を間違えましたか?
編集:私はそれをでテストすると言うのを忘れましたSpringJUnit4ClassRunner.class
。を含めましたがTransactionalTestExecutionListener.class
、これは機能しません。これで、クラスを拡張した後に機能しましたAbstractTransactionalJUnit4SpringContextTests
oracle - JDBCでストアドプロシージャを呼び出すときに、カスタムオブジェクトのテーブルをOUTパラメータとして返すことはできますか?
Oracle 11gには、次のようなストアドプロシージャがあります。
どこ
SpringのSimpleJdbcCallを使用して呼び出していますが、「無効な列タイプ」の例外が発生します。そのようなプロシージャを呼び出して、JDBCで結果を読み取ることは可能ですか?いいえの場合、カーソルを返す以外に使用できるオプションは何ですか?
spring - Seam ベースのアプリの Spring JDBCTemplate
手動の SQL が必要な場合 (事前に作成されたクエリを使用する JDBC API)、Seam ベースのアプリケーションで最善のアプローチは何ですか?
Seam Documentationでは、Spring ブリッジを使用して Spring JDBCTemplate を注入することは、セットアップが最も複雑であるが、開発が最も容易であると定義されています。
それに同意しますか ?