問題タブ [mybatis]

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 に答える
1303 参照

java - MyBatis - swing アプリケーションからデータベースのプロパティを設定するには?

私がswingアプリを持っていて、mybatisを使用しているとしましょう:

MyBatisSqlSessionFactory は次のようになります。

Swing アプリケーションから sqlfactory の構成に変数を取得するにはどうすればよいですか?

アドバイスをありがとう。

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

spring - mybatis-春のトランザクションの問題

mybatisでCMTSpringトランザクションを使用する際に問題が発生しました。2つのMapperFactoryBeanを使用してレコードを挿入するクラスがあります。

FOREIGNKEY制約例外を取得するレコードを挿入する場合。両方が異なるセッションで実行されており、2番目のセッションは新しく挿入されたIDを見つけることができなかったようです。

2番目のレコードの外部キーでnullを渡す場合。例外はスローされませんが、トランザクションもコミットされません。

例外がスローされた場合、ロールバックは正常に機能しています。

これが私の設定です

コードスニペット

期待してくれてありがとう

これがスタックトレースです

これがDEBUGログです

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

mybatis - マイバティス!複数のパラメーターを Mapper DAO に渡す

DAO 実装で定義された Mapper 関数に複数のパラメーターを送信しようとしていますが、パラメーターがどのクラスの所有者でもない場合、複数のパラメーターを送信できません。つまり、次のコードをどのように変更できますか-

DAO実装では

a と b を送信して getNames をクエリしたいと考えています。

前もって感謝します。

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

ibatis - MyBatisのパラメータを介してFROM句を設定する

私の質問を説明するドキュメントには何も表示されていません。それをデプロイすると、私のアプリは完全に機能しません(これについては後ほど詳しく説明します)。私は次のようなことをしようとしています

MyBatisで。列を共有するルックアップテーブルがいくつかあるため、ビューレベルのユーザーが、最終的に使用されるルックアップテーブルを決定します。getLookupRowsを実行しようとするとエラーが発生します

私のマッパーインターフェースは次のとおりです。

したがって、このクエリに文字列を渡そうとしていることがわかります。特別なことは何もありません。次のタスクになるので、特定の列があります。実際には、各ルックアップテーブルの列の1つが一意であるため、適切なspecificColumnを呼び出す必要がありますが、テーブルパラメーターとFROM句が機能するようになれば本当に嬉しいです。

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

java - MyBatis - MySQL への接続がランダムにドロップする

*更新: 開いた後にセッションを閉じない方法を見つけました。これが原因ではないかと思います。後でテストして報告します。*

GWT Java Web アプリケーションで MyBatis を使用しています。問題は、MyBatis を使用してデータベースを読み書きしようとすると、例外が発生することがあるということです。原因は何ですか?後続のクエリはすべて機能します。接続がタイムアウトしたようで、更新する必要があります。これは 1 日を通して時々発生しますが、これにはパターンは見られません。さまざまな構成を試しましたが、役に立ちませんでした。

MyBatis 構成ファイル:

更新 1 例外はさまざまな「DAO」でスローされます。単一のメソッド/呼び出しに固有のものではありません。一般的な方法は次のようになります。

セッション ファクトリ クラスの構成要素は次のとおりです。

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

mybatis - MyBatis 複数の結果セット

現在、コードを iBatis 2 から MyBatis 3 に移行しています。異なるクラスにマップする複数の結果セットを返す関数があります。iBatis では、カンマ区切りのリスト int を使用してさまざまな結果を次のように resultType にマップできます。

しかし、これは MyBatis 3 では機能しないようです。デフォルトで複数の結果セットを有効にする構成項目を除いて、ドキュメントには何も見つかりません。しかし、実際にそれらを処理する方法については何もありません。

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

spring - トランザクションがロールバックしない

Fuse (OSGi) 内に mybatis-spring integration 1.0.1 をデプロイした mybatis 3.0.4 があります。SQLServer 2008 内に基本的なデータベースを作成しました。Spring では、TransactionAwareDataSourceProxyデータ ソースとDataSourceTransactionManagerトランザクション マネージャーを構成しました。

これで、いくつかの行をデータベースに挿入する Fuse 内にデプロイする独自のバンドルを作成しました。構成済みのデータ ソースとトランザクション マネージャーを使用するようにバンドルに指示しました。ロジックを実行するメソッドは次のようになります。

このメソッドが例外をスローすると、予期される動作がトリガーされるのを確認することで、Spring を追跡できます。これにより、SpringsJtaTransactionManagerdoRollBack(..).

したがって、データベースを見ると、以前の挿入がロールバックされていないため、データベースが不安定な状態にあることを除いて、すべてが有望に見えます。

私はこれについて途方に暮れており、オンラインで情報を見つけるのに苦労しています。何かご意見は?

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

java - 並列検索インデックスを更新するために Activiti でタスクの作成を傍受するための最良の方法は?

私たちは Activiti をアプリケーションに埋め込んでおり、Activiti のすぐに使用できるタスク クエリ機能を超えるタスクの検索に関して、いくつかの特定の要件があります。私は現在、ElasticSearch を統合し、タスクの特殊なインデックスを維持することを検討しています。そのためには、Activiti でタスクの作成をインターセプトする必要があります。

「ネイティブ」で透明な (これをワークフローに明示的にモデル化する必要がないという点で) このための Activiti メカニズム (インターセプター メカニズムなど) は見つかりませんでした。現時点では、myBatis インターセプター プラグインを作成するのが最善の策のようです。

これにコミットする前に、よりクリーンで簡単な方法を見逃していないことを確認したかったのです。

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

java - 挿入されたエントリはデータベースに永続的に残りません

おはようございます、

昨日初めてMyBatisを使いました。出発点として、Loiane Gronerのを使用しました。そして、mysql db を内部 hsqldb (v1.8) に置き換えようとしました。すべてを変更しましたが、挿入単体テストが期待どおりに機能しませんでした。以下を参照してください。まず必要なすべての部品。

select メソッドを使用して、前に挿入した連絡先を取得するため、このテストはパスします。しかし、hsqldb を開くと、連絡先 ( entry ) がありません。実際には、このテストは 1 回しか合格しないと予想されます。もう一度呼び出すと、複数のエントリが存在するはずです。しかし、これは起こりません。なぜ、連絡先を永久にとどまらないのですか?(クリーンアップ方法はありません)

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

java - MyBatisでのSETステートメントの使用

(私はTeradatav12全体でMyBatisv3、Java SE v6、Tomcat v6、Spring v3を使用しています。)

現在のプロジェクトの技術要件の1つは、Teradataのクエリバンディング機能を使用することです。これは、必要に応じて次のようなステートメントを実行することで実行されます。

SET QUERY_BAND='someKey=someValue;' FOR TRANSACTION;

すべての通話にクエリバンドが必要です。<select>ただし、次のようにマッパーファイルの各ステートメントに追加せずに、この機能をクリーンで再利用可能な方法で追加する方法がわかりません。

<select>上記に関する私の問題は次のとおりです。1)クエリバンドの形式は、 (など)ごとにカスタマイズしたいkとvを除いて、すべてのマッパーXMLファイルで同じです。k値とv値を渡さずにこのカスタマイズを行う方法がわかりません。これにより、マッパーインターフェイスが混乱します。2)上記のコードに重複があり、不安になります。開発者は、queryBand SQLを含めることを忘れないでください。これは、ある段階で誰かが忘れてしまいます(マーフィーの法則)。

誰かが私をよりクリーンな方法でクエリバンディングを実装するための解決策の方向に向けることができますか?