問題タブ [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.
mybatis - MyBatis の Javadoc はどこにありますか?
MyBatis をダウンロードすると、フォルダーに mybatis-3.0.4-javadoc.jar があり、それを抽出して開きますが、ほとんど空です。
MyBatis の API ドキュメントはどこにありますか?
xml - MyBatis Configuration.xml と dataSource
データベースに接続しようとするたびに、この例外が発生し続けます。
SqlSession の構築中にエラーが発生しました。
SQL Mapper 構成にエラーが存在する可能性があります
原因: org.apache.ibatis.builder.BuilderException: ドキュメント インスタンスの作成中にエラーが発生しました。原因: org.xml.sax.SAXParseException: 要素タイプ「dataSource」のコンテンツは「(property)*」と一致する必要があります。
ここに私の Conifugration.xml ファイルがあります:
私はすでにこれをグーグルで検索し、データソースのサンプルを調べましたが、他のものと同じで、ドキュメントと同じです。
誰がそれが何であるか知っていますか?
annotations - 挿入および更新時にMyBatisがプロパティをデータベース列にマッピングする(注釈を使用)
MyBatis を学び始めたばかりで、挿入クエリや更新クエリを作成するときに、プロパティ名をリファクタリングしやすいものにする方法はありますか? 詳しく説明します:
プロパティ名を参照するために使用できるすべてのドメイン クラスに定数があります。私の意見では、タイプミスが減り、リファクタリングが少し簡単になります。
注釈を使用して MyBatis select ステートメントを作成すると、次のようなことができます。
ドメイン オブジェクト (CustomerDetail) をリファクタリングしてプロパティ名を変更すると、かなり単純になります。
ただし、注釈を使用して MyBatis の挿入ステートメントを作成するときは、次のようにする必要があります。
この場合、ドメイン オブジェクト (CustomerDetail) をリファクタリングしてプロパティ名を変更すると、エラーが発生しやすくなります。一連の文字列連結に頼らずに定数を使用できる方法はありますか? それは私自身も気にする必要がありますか?
まったくの初心者として、@Insert および @Update アノテーションが @Select アノテーションの構造を模倣することを期待していました。例 (以下は有効な MyBatis アノテーションではないことに注意してください):
上記のサンプルと同じ効果を持つオプションを見逃していませんか? または、MyBatis マッピングを単体テストして、ドメイン オブジェクトに存在しないプロパティ名を誰も使用していないことを確認することはできますか? テストは XML ベースのマッピングにも適用されるため、より良い解決策になる可能性があります。考え?
java - Mybatis 移行ツールで 1 つのトランザクションで複数の mysql ステートメントを実行する
データベースへのスキーマを維持するために Mybatis 移行ツールを使用していますが、次の問題が発生しています。
現在、移行で複数のステートメントを使用する場合、それらはそれぞれ別のトランザクションで実行されます。そのため、機能の一部として 2 つのテーブルを変更する (または複数のステートメントを実行する) 必要があり、そのうちの 1 つが壊れた場合、最初に実行されたテーブルを手動で元に戻す必要があります。ただし、mybatis の移行は、すべてのステートメントが正常に完了した場合にのみ、changelog テーブルで完了としてマークされます。
移行全体が自律的でない場合、一定のデータベース状態を維持する方法がないため、これは本当にイライラします。
設定
これは、テスト データベースの mybatis mygration の (関連する) 設定です。
auto_commit=false、send_full_script=true、および allowMultiQueries=true (url に) を追加して、移行全体を 1 つのトランザクションにまとめようとしました。
これを許可するために使用する必要がある mysql url パラメータはありますか? これは可能ですか?そうあるべきだと思われます。ステートメントごとに 1 つの移行を作成する必要があるだけかもしれませんが、それは過剰に思えます。
例
明確にするためのさらなる例を次に示します
移行例 20110318154857_fix_daily_sales:
b0rked;
移行を実行すると、期待どおりの行が原因で失敗します。移行ステータスは、移行が予想どおり保留中であることを示しています。
ただし、私のデータベースには変更が適用されています。良くない!
これを防ぐ方法はありますか?各ステートメントを移行に入れて先に進むべきですか? それが私が今いるところです。
前もって感謝します。
java - 生成されたファイルからのMyBatis例外
MyBatisGenerator1.3.1を使用してMapper.xmlファイルを作成しました。MyBatisがMapperファイルを解析すると、BuilderExceptionがスローされます。
parseDynamicTagsは<#comment>フィールドを認識していません。解析しているXMLの部分はselectByExampleです。
MyBatisは最初のコメントとselectステートメントを解析したようです。タイプ#textのノードを解析したばかりですが、#commentがどこから来ているのかわかりません。
生成されたファイルを変更していませんが、これが過去に正しく機能し、突然停止したことに戸惑っています。
編集:Base_column_list
そしてここにexample_where_clauseがあります
java - myBatis を使用して ResultMap の合計行数を返す
この拡張 ResultMap 用に、rowNumber と totalRows の 2 つのフィールドを追加して作成します。はい、これで行数の合計が得られましたが、結果マップのすべてのオブジェクトに保存されます。
どうすればこれを回避できますか?
generator - myBatis Generator-SQLの選択/更新/挿入/削除のみを生成する方法は?
私の設定ファイルは次のとおりです。
単純な選択/更新/挿入/削除SQLのみを生成するにはどうすればよいですか?これを下に書いてみませんか?
Mapper.xml
java - MyBatis テスト式の AND 演算子は、評価中に短絡しますか?
MyBatis のテスト式の AND キーワードは短絡を使用して実装されていますか? たとえば、次のように書いています。
第 1 オペランドが false に解決された場合、第 2 オペランドは無視されますか? (MyBatis v3.0.4 を使用しています。)
java - iBatisを使用してOracle10gXEデータベースにアレイを書き込むにはどうすればよいですか?
私はこの高低の答えを探しましたが、答えを得ることができません。
基本的に、iBatisを使用してデータベースに書き込んでいるオブジェクトがあります。これは、文字列、intなどのプリミティブ型で正常に機能しますが、私のオブジェクトの属性の1つは、他のオブジェクトの配列です。これを永続化してから、後で「selectById」ステートメントを呼び出して、配列を含む完全なオブジェクトを取得できるようにしたいと思います。
これが私がこれまでに持っているコードです:
Mapper.xml
accountGrpは私の配列ですが、現在エラーをスローしています。このフィールドがなくても、ステートメントは正常に機能します。
Javaは次のようなものです。
}
よろしくお願いします!!