問題タブ [ibatis]

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 投票する
6 に答える
45299 参照

java - iBatisはSQLを実行します

実行されたiBatisのクエリを取得する方法はありますか?UNIONクエリにクエリを再利用したい。

例えば:

そして、私がクエリを実行すると

私は手に入れたいSELECT username, password FROM table WHERE id=1

クエリを取得する方法はありますか?

ありがとう。

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

environment - iBatis-XMLを使用して環境を選択

私はこの構成を持っていますibatis-config.xml

示されているように、それはからデータソースをロードします<environment id="development">

質問:実行時に<environment id="test">XMLを変更せずにスイッチを使用することは可能ですか?たとえば、使用しているテストファイルがあり、SqlSessionFactoryテスト環境を使用するようにプログラムで設定したいですか?

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

spring - Spring + iBatis + Hessian キャッシング

Spring + iBatis で Tomcat に取り組んでいる Hessian サービスがあります。結果をキャッシュする方法を考えています...

sqlmap ファイルで次の構成を作成しました。

次に、いくつかのテストを行いました... Hessian クライアント アプリケーションがあります。私は getAccounts を数回呼び出しており、各呼び出しの後は DBMS へのクエリです。

サービスで DBMS を初めて照会する (サーバーの再起動後) getAccounts を呼び出し、次の呼び出しでキャッシュを使用する方法を教えてください。

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

transactions - EJB (3.1) コンテナー内の iBATIS 3 でのトランザクション管理

EJB コンテナ内の永続化フレームワークとして iBATIS 3 を使用している人はいますか? 私は最近、アプリケーション フレームワークとして EJB 3.1 (EJB のバージョンは実際にはこの質問には関係ありません) を選択し、永続化フレームワークとして iBATIS 3 (このバージョンは関連しています!) を選択する新しいシステムの構築を開始しました。私のビジネス ロジックは、データ アクセスに iBATIS 3 を使用する EJB 3.1 セッション Bean に実装されています。私はGlassFish v3で実行しています)

このスタックに関する私の問題は、トランザクション管理です。簡単な統合コードを書くことで問題を解決しましたが、これをしなければならなかったことに少し驚きました。だから私はこれを投稿して、他の人がこれに遭遇したかどうか、もしそうならどのように問題を解決したかを確認することにしました.

私の要件は、iBATIS 3 がセッション Bean メソッドで EJB トランザクション (通常は宣言的に定義される) を透過的に使用することです。iBATIS 3 は JdbcTransactionFactory と ManagedTransactionFactory の 2 つのトランザクション ファクトリを提供しますが、どちらも EJB 環境で正しく動作しないことがわかりました (iBATIS ソースを見ると、失敗する理由が明らかです)。

sqlSession.commit() または sqlSession.rollback() への呼び出しを無視したいので、JdbcTransactionFactory は不適切です。したがって、sqlSession.commit() または sqlSession.rollback() への呼び出しが無視されるため、ManagedTransactionFactory を使用する必要があると思いましたが、sqlSession.close()が iBATIS から開いた接続を閉じません。 sqlSession.open() 内の DataSource (DataSource は、iBATIS に提供するコンテナ管理の DataSource オブジェクトです)。これにより、GlassFish がその接続プールを使い果たし、アプリケーションが失敗します。

そこで、sqlSession.commit() または sqlSession.rollback() が何もしないようにする新しい TransactionFactory 実装、EJBTransactionFactory を作成しましたが、sqlSession.close() が呼び出されたときに接続を閉じます。

他の人がこれに遭遇したと思いますが、どのように解決しましたか?

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

java - JMockモックオブジェクトは別のモックオブジェクトを返すことができますか?

iBatisDAOフレームワークを使用してアプリケーションのテストを作成しています。アプリはJava1.4環境で実行されているため、すべてのレガシーバージョン(JDK 1.4、JUnit3、iBatis 2.3、およびJMock 1.2)を使用しています。

私のMockObjectTestCaseサブクラスでは、このテストがあります

これは、サービスオブジェクトがDaoManagerDAOオブジェクトを要求し、そのオブジェクトのinsertメソッドを呼び出すことを確認する必要があります。テストはエラーメッセージで失敗します

mockDaoオブジェクトをキャストしようとすると、com.ibatis.dao.client.Daoまたはcom.ibatis.dao.client.template.SqlMapDaoTemplateで終了しClassCastExceptionます。

私は何が欠けていますか?

更新: JDK 1.6、JUnit 4、およびJMock2を使用するようにコードを変換しても何も変わりません。このコード

次のエラーメッセージが表示されます。

ここで明らかな何かが欠けているかもしれませんが、上記のコードはhttp://www.jmock.org/getting-started.htmlのJMockの例からほぼまっすぐになっています。

何か案は?

修正もちろん、それは明らかなことでした。上記はマーカーインターフェースTblPpvFiltersDaoを拡張する必要があります。com.ibatis.dao.client.Daoドー。

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

java - 現実世界のORM

私は数年続くと思う新しいプロジェクトを始めています。使用するORMフレームワーク(または使用するかどうか)を決定する段階にあります。経験のある人なら誰でも、ormフレームワークが実際のアプリケーションで使用されているかどうかを教えてもらえますか。私が念頭に置いている問題は次のとおりです。エンティティを作成および変更すると、ormツールによってテーブルや列などが生成されます。ただし、プロジェクトが稼働して本番環境に移行した後は、特定のデータベースを変更できなくなります。これはプロジェクトの進行を妨げる可能性がありますか。たとえば、ibatisのようなフレームワークを使用した場合、データベースの変更に基づいてsqlステートメントを調整するだけで済みます。ORMツールがライブ環境で生き残ったかどうか誰かに教えてもらえますか?私のオフィスでは、ずっと前に行われたJavaベースのERPを使用していますが、ORMフレームワークを使用して行われたことはありません。

よろしく。ジョシュ

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

java - iBatis 3でのストアドプロシージャまたは関数の使用方法(注釈付き)

アノテーション付きの「iBATIS3forJava」を介してOracleストアドプロシージャまたは関数を使用したい。しかし、サンプルコードが見つかりません。誰か助けてもらえますか?簡単なサンプルコードが必要です。

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

java - iBatisマッピング:文字列フィールドをリストにマッピングします

次のような特定の形式で文字列フィールドをマップすることは可能ですか?

aaa、bbb、ccc、ddd

iBatisを使用して要素[aaa、bbb、ccc、ddd]を持つリストに追加しますか?

私が必要としているのは、モデルに次のようなものを含めることです。

私のテーブルでは、フィールドが単純な文字列であっても。これは可能ですか?

ありがとうロベルト

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

model - ibatisドメインモデリング

私はプロジェクトのドメインモデルに取り組んでいます。プロパティの1つとしてUserTypeという名前のクラスを持つuserという名前のクラスがあります。すべてのユーザーを選択する場合は、結合を使用して対応するすべてのユーザータイプを選択します。挿入はどうすればよいですか?userTypeのハンドラーを作成する必要がありますか?または私は次のようなことをすることができます

助けてください;

私はこれを理解しようと一日中過ごしました。私はibatis3.0を使用していますが、ibatisは初めてです。

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

ibatis - イバティスの問題リストを反復しながら

私は iBatis を初めて使用し、要素と要素に苦労しています。

HashMap: MyParameters として渡される Book インスタンスのリスト (たとえば) を反復処理したいと考えています。リストは listOfBooks と呼ばれます。

したがって、SQL ステートメント全体の句は次のようになります。

また、「listOfBooks」リスト内の各 Book インスタンスのプロパティが null であるかどうかに応じて、反復要素内で異なる SQL を生成する必要があります。

したがって、次のようなステートメントが必要です。

これを行うと、Book クラスに「title」という名前の「読み取り可能な」プロパティがないというエラー メッセージが表示されます。ただし、各 Book インスタンスにはtitle プロパティが含まれているため、混乱しています! listOfBooks で特定の Book インスタンスのタイトルを特定しようとして、構文を操作したとしか思えません。これを達成するための正しいテクニックを見つけるのに苦労しています。誰かが前進する方法をアドバイスできるなら、私は感謝します。

ありがとう