問題タブ [jdbctemplate]
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.
jdbctemplate - jdbcTemplateおよびOracle10
挿入を実行しようとすると、次のようになります。jdbcTemplate.update( "insert into ...."、new Object [] {foo.getId()、foo.getName()})foo.getId()はlongを返し、 getName()文字列。OracleのIDタイプとして「NUMBER」を使用し、名前フィールドにvarchar2を使用しています。
SQLtypeの不明な問題が発生しています。updateメソッドには、SQLタイプを入力する必要がないバージョンがありますが、入力する必要がありますか?入力する必要がある場合は、どのように入力しますか?
mysql - MySQLを使用したSpringJDBCTemplateテーブルのロック
アプリケーションの1つを純粋なJDBCからSpringのJDBCTemplateに移行するだけです。テーブルの書き込みロックを作成する方法を考えていました。「LOCKTABLEfoo」クエリを実行するだけですか、それともJDBCTemplateでこれを行うための一般的な方法がありますか?
ありがとう!
java - Spring と JDBCTemplate を使用して実行時間の長いクエリをキャンセルするにはどうすればよいですか?
JDBCjava.sql.Statement
クラスにはcancel()
メソッドがあります。これを別のスレッドで呼び出して、現在実行中のステートメントをキャンセルできます。
Spring を使用してこれを達成するにはどうすればよいですか? クエリの実行時にステートメントへの参照を取得する方法が見つかりません。また、キャンセルのような方法も見つかりません。
ここにいくつかのサンプルコードがあります。これを実行するのに最大 10 秒かかると想像してください。ユーザーの要求に応じて、キャンセルしたい場合があります。
java.sql.Statement
オブジェクトへの参照を取得するには、これをどのように変更すればよいでしょうか?
jdbc - SimpleJdbcTemplate で QueryTimeout を設定するにはどうすればよいですか?
Spring Framework には 2 つの類似したクラスがあります。JdbcTemplate は古い Java 1.4 クラスで、SimpleJdbcTemplate は新しく、より優れたメソッドを備えています。
JdbcTemplate にはメソッドsetQueryTimeoutがあり、基本的に、基になる Statement オブジェクトで同じ名前のメソッドにアクセスできます。
SimpleJdbcTemplateで同様のことを行う方法はありますか?
解決策: skaffman の回答に基づいて、SimpleJdbcTemplate
オブジェクトを自分で から作成するJdbcTemplate
ので、やりたいことが何でもできるようになりました。コード:
少し一口ですが、仕事を終わらせます。
更新:これは確かに必要以上に複雑です。答えを見てください。
java - SpringのJDBCTemplateを使用してIN()SQLクエリを効果的に実行するにはどうすればよいですか?
SpringのJDBCTemplateを使用してIN()クエリを実行するためのより洗練された方法があるかどうか疑問に思いました。現在、私はそのようなことをしています:
IN()クエリの句を作成するためだけに9行あるとしたら、これは非常に苦痛です。プリペアドステートメントのパラメータ置換のようなものが欲しいのですが
java - Hibernate SessionFactoryでJDBCTemplateを使用していますか?
Spring / Hibernateアプリがあり、パフォーマンスと開発時間に関する理由から、少量のJDBCを追加したいと考えています。このdaoサブクラスHibernateDaoSupportを作成し、セッションの接続を使用してJDBCを実行できますが、JdbcTemplateを使用したいと思います。ただし、JdbcTemplateは、java.sql.Datasourceを使用して初期化されます。既存のHibernateSessionFactoryを使用して初期化するにはどうすればよいですか?
mysql - MySQL キーの一意性の確保
キー (文字列) がサードパーティのソースから読み取られる MySQL DB があります。ただし、これらは常に一意であるとは限りません (映画のタイトルです)。したがって、キーの一意性を確認し、一意でない場合は、キーの末尾に増分カウントを追加するなどして、一意になるように修正する必要があります。
これを行うための最良のパターンは何ですか?私は現在、サードパーティから受け取ったすべてのキーを格納し、カウントを格納するテーブルを持っているので、次のようにします:
jdbcTemplate と keyHolder を使用して、新しい (または更新された) 行の ID を取得しています。問題は、カウントを戻す必要があることです。もちろん、2 番目のクエリ (SELECT) を実行して、その ID を持つレコードを取得できます。ただし、ここでの問題は並行性にあります。SELECT を実行する直前に、同じサードパーティ キーを使用した別の INSERT が発生する可能性があります (可能性は低いですが)。この場合、カウントが 2 回インクリメントされ、間違ったカウントが返されます。
何か案は?
ありがとうリチャード。
java - postgresqlのJdbcTemplateバッチ更新-日付は時間を失いますか?
( )java.util.date
の形式でオブジェクトのリストを挿入しています。YYYY-MM-DDThh:mm:ssTZD
2008-09-26T14:34:59+02:00
SQL:
INSERT INTO cdate(key、valuedate、user_id)VALUES(?、?、?)
日付は正しい形式ですが、PostgreSQLでは次のようにしか保存されません: " 2008-09-26 00:00:00+02
"
編集:私は前に急いでいました...私は十分な情報を提供しませんでした、ごめんなさい。
java - NamedParameterJdbcTemplate を使用して配列フィールドを更新する
dblArrayFld
テーブルに倍精度配列フィールドがあり、 myTable
Spring を使用して更新したいと考えていますNamedParameterJdbcTemplate
(私は Postgres を使用しています)。
私は次のようなコードを実行しています:
これは、"$2" またはその付近で構文エラーを読み取るエラーを返します。
ここでは、:myarray の構文に問題があると想定しています。:myarray
また、次の方法で囲み込みを試みました。
dblArrayFld={:myarray}
dblArrayFld={ :myarray }
dblArrayFld=[:myarray]
dblArrayFld=ARRAY[:myarray]
dblArrayFld=(:myarray)
ここで正しい構文は何ですか?
java - Java プログラミング - Spring と JDBCTemplate - クエリ、queryForList、または queryForRowSet を使用しますか?
私の Java (JDK6) プロジェクトでは、すべてのデータベース アクセスにSpringとJDBCTemplateを使用しています。最近、Spring 2.5 から Spring 3 (RC1) にアップグレードしました。プロジェクトはHibernateやEJBのような ORM を使用しません。
大量のレコードを読み取り、内部処理を行う必要がある場合、いくつかの (オーバーロードされた) メソッドがあるようです: query、queryForList、および queryForRowSet
一方を他方の代わりに使用する基準は何ですか? パフォーマンスの違いはありますか? ベストプラクティス?
このトピックに関するさらなる研究のために、いくつかの外部参照を推奨できますか?