問題タブ [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 に答える
1489 参照

java - iBatisに相当するMyBatisは何ですか鬼ごっこ?

古い iBatis バージョン 2 を移植しています。<isParameterPresent>タグを置き換える方法を知りたいですか?MyBatis ユーザー ガイドを読みましたが、できることはわかっていますが<if test="">、パラメーター オブジェクトを参照する方法がわかりません。特別な名前はありますか?使用する別のタグはありますか?

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

mybatis - 異なるテーブルでフィールド名が重複していると、mybatisでの`SELECT`クエリが複雑になります

created_at行が挿入されたときに表すタイムスタンプである、という名前のフィールドを持つテーブルがいくつかあります。

今、私は永続層としてmybatis 3を使用していますが、で何かをクエリすると少し退屈であることがわかりましたjoin

私がすべての質問とその答えを得ると期待した単純なSQLを見てください:

しかしquestionsanswers両方にフィー​​ルドがあるため、結果セットに2が含まれているcreated_atことがわかりました。また、2番目のフィールドは無視されます。したがって、回答の値は、正しくありません。select q.*, a.*created_atcreated_atquestions

これを避けるために、私は2つの方法を見つけましたが、どちらも良くありません。

  1. 各テーブルのフィールド名を変更し、それらが同じでないことを確認します。例:questions.created_at-> questions.q_created_atanswers.created_at-> answers.a_created_at

    id、、、などのフィールドがたくさんあるため、これは良くありませんname。データベースを読みにくくし、これらの名前を変更するために維持するのが難しくなりますtitleupdated_at

  2. SQLを変更します。次のように、SQLのフィールド名を変更します。

    SQLのすべてのフィールド名を変更する必要があるため、これは良くありません。非常に長くて読みにくくなり、そのようなSQLを毎回書くのは面倒です。

私はmybatisを初めて使用しますが、この問題に対するより良い解決策はありますか?

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

java - Spring MVC にクライアント/サーバー アプリケーションをデプロイする

スタンドアロンのクライアント サーバー アプリケーションが 1 つあります。一部のサーバー(TOMCATなど)にデプロイできるように、Spring MVCに移動したいと考えています。

多くの Spring MVC チュートリアルなどを参照しましたが、独自のアプリをデプロイする方法がわかりませんでした。

募集要項は以下の通りです。

SERVERはクライアントからデータを受け取って処理し、データが既に存在するか DB にあるかどうかを確認し、そうでない場合は DB に挿入し、クライアントによって指定された ID に基づいて特定のファイルに書き込みます。

CLIENTは、現時点ではランダムに生成されたデータのみを送信します。

今私がしたいのは、ボタンをクリックしてクライアントを開始し、サーバーにデータを送信し、クライアントページに応答を表示できるWebページを作成することです(例:接続、受信したデータ、挿入されたデータ) DB、データがすでにDBに存在するなど)

_ 私はここでひどく立ち往生しており、先に進む方法がわからないので、ここで私を助けてください. _

編集で必要な場合は、コードを投稿できます。

前もって感謝します。:)

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

spring - myBatis と Spring でトランザクションをセットアップする方法

トランザクションを設定しようとしていますが、成功しません。これが私のコードです:


その processTransaction メソッドは、1 つのトランザクションだけでなく、複数のトランザクションのセットのようです。

Spring 3.0.5、myBatis 3.0.4、mybatis-spring-1.0.1、Tomcat 7.0.19、Oracle 11.1.0.6.0 を使用しています。

手伝ってくれてありがとう。

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

spring - Spring と iBatis を使用した JSR-303 Bean 検証

JSR-303 Bean 検証を使用して、バックエンド サービスと通信できるカスタム アノテーションを作成することは可能ですか?

このタイプの検証は、「古い学校の」Spring バリデーターで実現しました。その場合、バリデーターは Spring Bean であり、他のサービスを注入することができました。次に、そのバリデーターがコントローラーに挿入されます。

例としては、電子メールが既に存在するかどうかを確認するための注釈 (おそらく @EmailExists) があります。これは、当社のサービスの 1 つを使用した SQL クエリでのみ実行できます。これを他の注釈と一緒に「検証」し、できるだけ早くチェックし、バックエンド サービスで明示的に行う必要はありません。

注: iBatis/MyBatis を使用しているため、JPA/Hibernate のトリックは使用できません :-)

ありがとう!

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

mybatis - MyBatis で、SelectProvider の結果タイプを指定する方法

これは私の下手な英語を使用した最初の投稿です...

MyBatis3.0を使用しています

クエリでは、次のようなメソッドで SqlBuilder を使用しました。

次のようなマッパーインターフェース:

public interface DataStatisticMapper {

@SelectProvider(type=DataStatisticSqlBuilder.class, method="getDataQtyListSql")

私が電話したとき

コンソールに次の結果出力が表示されました。

上記の出力に基づいて、期待される結果はリスト [Map, Map, ...] になるはずですが、実際の結果は [null, null] です。結果が HashMap にマップされていないようです。このクエリで結果タイプを HashMap に設定するにはどうすればよいですか?

いくつかの注釈を使用するかもしれませんが、見つかりませんでした。

どうもありがとう。

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

mysql - MySqlとMybatisは、値<=##である別個の行を選択します

ユーザー、ロール、権限の3つのテーブルがあります

ユーザー

役割

当局

渡すINTよりも高いroleLevelと最も低いroleLevelを持つすべてのDISTINCTユーザーを取得する必要があります

私が今持っているのは:

しかし、それは私に複数の役割を持つユーザーのための複数の行を与えます。渡したものよりも低いroleLevelを持つユーザーを取得するにはどうすればよいですか?

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

spring - MyBatis を使用しているときに、作成日/変更日などのフィールドをどのように自動的に更新しますか?

私は MyBatis を使用しており、「作成」、「変更」されたすべてのテーブルに 2 つのフィールドを実装したいと考えています。どちらも日付フィールドです。挿入または更新時にこれらのフィールドを自動的に更新する方法はありますか? もちろん、マッピングを調整することはできますが、これを行うためのより一般的で DRY な方法があるかどうか疑問に思っていました。

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

java - Spring/MyBatis でトランザクションを使用するには? ベストプラクティス?

MyBatis と Spring でトランザクションを使用しようとしていますが、これを達成するためのベスト プラクティスがあるかどうか疑問に思っていましたか? ヒントや考えをいただければ幸いです。

私のアプリケーションは、MySQL データベースに対して tomcat コンテナーで実行されます。

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

java - MyBatisが一度に複数のSQLステートメントを実行することは可能ですか?

一度に複数のSQLステートメントを実行できるかどうか疑問に思いました。たとえば、複数のテーブルから行を削除したいというシナリオでは、次のようなことができる方法があります。