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

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

java - リストの値を変数に割り当てるにはどうすればよいですか?

私はこのコードを実行しています:

リストに返された値を使用して、上記の 5 つの変数を設定したいと考えています。どのように?

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

sql - Jdbc チェック タイプの互換性

Java 型が と互換性があるかどうかを事前に確認する方法はありsql.Typesますか?

次のようなすべてのものを入力できます。

if (BIGINT||TINYINT) try BigInteger.parse(myvalue)if (TIME||DATE||TIMESTAMP) try new Date(Long.parse(myvalue))

これにより、大量のコードが作成されます。事前チェックの一般的な方法はありますか?

編集:挿入について話しているので、挿入中にSQL例外を回避するために、事前チェックを行いたい

0 投票する
3 に答える
24614 参照

mysql - Springセキュリティでmysqlデータベースを使用してユーザーを認証しますか?

Spring セキュリティを使用して、Web アプリケーションでユーザーを認証したいと考えています。Spring フレームワークの成熟したユーザーではないため、jdbc-user-service を使用するための構成設定を行う方法について明確なアイデアを得ることができません。私は次の構成を行っていましたが、機能していません

..サンプル構成ファイルで問題を解決するのを手伝ってくれる人はいますか。前もって感謝します。

0 投票する
4 に答える
27199 参照

java - Querydsl、jOOQ、JEQUEL、activejdbc、iciql、およびその他のクエリDSLの比較

Querydsl 、jOOQJEQUELactivejdbciciqlなど、Javaで使用できるさまざまなQueryDSLライブラリ間のパフォーマンス比較に関するリソースを教えてもらえますか。

背景: Spring JDBCテンプレートを使用していますが、それでもクエリをプレーンな文字列形式で記述する必要がありました。直接クエリの記述に問題はありませんが、DBテーブル名に直接依存しているのではないかと心配しています。HibernateやJPA/EclipseLinkのようなORMフレームワークは使いたくありません。可能な限り高い生のパフォーマンスが必要です(IMO、CRUD中心のアプリケーションに適しています)。これらのDSLのオーバーヘッドは、それが少しの場合にのみ余裕があります(ほとんどの場合、StringBuilder / Stringの連結になると思います!)

一部のxmlで外部化された名前付きクエリの使用を検討しました。しかし、さまざまなクエリDSLライブラリが提供する価値を評価しようとしているだけです。

編集:私の要件の詳細: APIメソッドを使用して適度に複雑なクエリを構築する場合のこれらのパフォーマンスの比較を知りたいです。必要なのは、これらのクエリDSLライブラリのいずれかを使用してクエリ文字列を生成し、それをSpringJDBCテンプレートに渡すことだけです。したがって、この中間ステップを追加するとパフォーマンスが大幅に低下するかどうかを知りたいので、名前付きクエリを使用するか、StingBuilderまたは同様のアプローチを使用する独自のライブラリを構築します。

jOOQ、iciql、QueryDSLでの私の経験を更新してください:

元の投稿でこれについて言及しなかったものの、エンティティクラスで必要な使いやすさとオーバーヘッド(追加のアノテーションや実装が必要な場合など)にも熱心です。

jOOQ:

  • エンティティのプロパティをライブラリ固有の方法に変更する必要があります
  • SQLクエリ文字列を返すことができます

Iciql:

  • エンティティは変更なしまたはほとんど変更なしでマッピングできます(合計3つの方法を使用してマッピングできます)
  • ただし、クエリの選択のみに制限されます(更新/削除/ ...の場合は、エンティティを再度変更する必要があります)

QueryDSL:

  • エンティティをテーブルにバインドする複数の方法(ライブラリ固有の方法以外で、JPAアノテーションの使用がサポートされています)。しかし、少なくともエンティティを変更する必要があります
  • クエリ文字列を取得する簡単な/直接的な方法はありません

(すべての観察結果は、私がこれらについて知っている知識がほとんどありません。これらのいずれかが正しくない場合は、修正してください)

上記のすべてで、私は名前付きクエリを書くことに固執しています:(しかし、Lukas Ederの回答は私の元の投稿の懸念(パフォーマンス)について説明しているようですので、私は彼を受け入れました。

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

jdbc - Jdbc 接続プーリング - 実行時にのみ認識される複数のスキーマを使用

私は次のことをしているエンジンに取り組んでいます:

  1. DBからデータプロバイダー情報を取得します(データを取得するために接続するデータベースとスキーマの詳細を教えてくれます)
  2. その情報を使用してデータベースに接続し、後で XML コンテンツを作成するために使用するデータを取得します。

データベース接続管理を処理および分離するための標準的なセットアップは、DataSource Bean (Spring を使用してコンポーネントを配線しています) を作成し、それを ProviderConfigDao (接続構成をロード) および ContentDao (以前にロードされた接続の詳細を使用してデータをロード) に注入することです。 . これにより、接続の処理が実際のコードから適切に分離されるため、DAO クラスは、接続がいつどのように作成/オープン/クローズされるかを知る必要がありません。

残念ながら、このセットアップは機能しません。接続を作成するときに、データベース スキーマを指定できるようにする必要があるためです。最初からすべての異なるスキーマを知っているわけではないため、それらすべてをカバーする一連の DataSource オブジェクトを作成することはできません。したがって、DataSource オブジェクトは実行時に作成する必要があり、その作成はユーザーから隠されています。

私が考えることができる唯一の解決策は次のとおりです。

  1. 1 つのメソッドを持つ別のクラス/インターフェイス (DataSourceProvider) を用意します。

    /li>
  2. Spring 構成に Bean を追加して、各スキーマの DataSource オブジェクトの作成を管理するカスタム実装を提供します。
  3. DataSource オブジェクトの代わりに、そのオブジェクトを DAO クラスに挿入します。

それは悪い解決策ではありませんが、オープンソースパッケージですでにこのようなものがサポートされているのではないかと思っていました...すでに完了してテストされたものを使用してから、車輪を再発明したいと思います。

乾杯、ステフ。

0 投票する
3 に答える
2878 参照

java - Swing デスクトップアプリケーションで Spring JDBC の JDBCTemplate を使用するにはどうすればよいですか?

Swing デスクトップ アプリケーションで多くの JDBC コードを使用しています。JDBCTemplateSpring の記事を読んだところSpring in Action、JDBC を操作するための優れた API のようです。

しかし、Spring JDBC には、Bean 用の XML 構成ファイルがいくつか必要なようです。これらの XML 構成ファイルなしで (たとえば、注釈付きで) JDBCTemplate を使用する方法はありますか? または、データベース アクセス用の Swing デスクトップ アプリケーションでこの JdbcTemplate を使用するにはどうすればよいですか?

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

java - IntをLongとして返すSpring Jdbcテンプレート?

MySQL テーブルには 3 つの列があり、2 つは INT で、1 つは VARCHAR です。

クラス キャスト例外が発生しています: java.lang.ClassCastException: java.lang.Long を java.lang.Integer にキャストできません。私のコードは次のとおりです。

私の質問は、なぜそれをロングにキャストする必要があるのですか? MySQL の最大許容 INT 値と Java の最大許容 int 値が同じではないためですか?

0 投票する
3 に答える
7847 参照

java - Spring jdbc テンプレート : SQL ステートメントをコードから除外する最良の方法は何ですか

Spring JDBC Templates には名前付きクエリのサポートがないようです。名前付きクエリとは、Java コードで SQL ステートメントを名前で参照し、実際のステートメントを構成ファイルに保持する機能を意味します。

すぐに使用できるサポートがないため、SQL ステートメントを Java コードの外部に保持する最善の方法を研究しています。

代替手段は次のとおりです。

  1. プロパティファイル
  2. xml プロパティ ファイル
  3. spring context xml (依存性注入)

コメント?

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

java - Connection オブジェクトをレガシー コードに渡す Spring フレームワーク

Spring JDBC 3.0.6 を使用しています。プレーンな JDBC を使用するレガシー コードもあります。従来のコードには、java.sql.Connection オブジェクトを必要とするメソッドがあります。Spring コードからこのメソッドを呼び出したい。java.sql.Connection オブジェクトを渡すにはどうすればよいですか?

データソースから接続オブジェクトを取得する場合、この接続の復帰/解放を管理する必要があります。トランザクション内にある接続オブジェクトの参照を取得することはできませんか?

アノテーション ベースの構成と aop ベースの宣言型トランザクションを使用しています。

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

java - 1000 を超える ID を持つ IN クエリの spring-jdbc

私はこのようなクエリを持っています -

IN は を超える ID のリストを取得します1000。したがって、私のクエリは Oracle で失敗します。

1 つのオプションは、ID を一時テーブルに挿入し、上記のクエリを変更してこの新しいテーブルに結合することです。

spring-jdbc はこれを解決するために何かを提供していますか? 私のDAOを書くために従うことができるパターンはありますか?