問題タブ [mybatis-generator]
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 Generator:「自動生成された」ファイルと「手動で編集されたファイル」を分離する最良の方法は何ですか?
私は、Mybatis (Java をデータベースに永続化するため) とMybatis Generator (データベース スキーマからマッパー xml ファイルと Java インターフェイスを自動的に生成するため) の両方を使用するプロジェクトに参加しています。
Mybatis ジェネレーターは、基本的な crud 操作に必要なファイルを適切に生成します。
環境
一部のテーブル/クラスでは、MyBatis ジェネレーター ツールによって生成された "crud stuff" よりも多くの "stuff" (コード クエリなど) が必要になります。
「両方の長所」を持つ方法はありますか。つまり、自動生成と「カスタム コード」を使用します。「手動で編集されたファイル」と「自動生成されたファイル」をどのように分離して構造化しますか。
提案
私は次のことを考えていました。つまり、テーブル「Foo」について
自動生成
- FooCrudMapper.xml
- インターフェイス FooCrud.java
(「Crud」は「Create Read Update Delete」の略です)
手編集
- FooMapper.xml
- インターフェイス Foo は FooCrud を拡張します
概念: スキーマが変更された場合、カスタム変更を消去することなく、「Crud」xml および .java ファイルを常に安全に自動生成できます。
質問
mybatis はこのシナリオを正しく処理しますか?つまり、このマッパーは自動生成された「crud コード」を正しく実行しますか?
FooMapper fooMapper = sqlSession.getMapper(FooMapper.class);
どのようなアプローチをお勧めしますか?
編集 1: * 私たちのデータベース設計は、「コア テーブル」(「要素」) を他のテーブルと共に使用し、そのテーブルを「拡張」し、追加の属性 (共有キー) を追加します。私はドキュメントを見て、手動で編集せずに Mybatis Generator をそのような「拡張機能」と組み合わせて使用することはできないと結論付けました。
つまり、これは機能しません。-ElementMapper は「ElementCrudMapper」を拡張します -FooMapper.xml は「ElementCrudMapper」と「FooCrudMapper」の両方を拡張します
皆さんありがとう!
mocking - MyBatis で生成された pojo の属性の順序
私たちのチームでは、MyBatis Generator バージョン 1.3.1 の使用を開始しました。最近、バージョン 1.3.2 に移行したところ、生成された POJO の属性の順序が変更されていることがわかりました。
以前は、生成されたクラスの属性の順序はアルファベット順でしたが、変更後、XxxKey クラス、つまりテーブルの主キーに一致するクラスでは、属性の順序がアルファベット順でなくなっていることに気付きました。アルファベット順。
例:
バージョン 1.3.1:
バージョン 1.3.2:
一部のモッキング ユーティリティのリフレクションを使用して、生成された POJO にアクセスしていますが、属性の順序が変更されたため、アクセスできなくなりました。影響を受けた変更を修正することはできますが、クラスがどのように生成されるかを示していただければ幸いです。
それは可能ですか?答えはノーだと思いますが、念のため。ちなみにバージョン1.3.1の属性順はアルファベット順でした。バージョン 1.3.2 で生成される属性の順序は?
よろしく、トーマス。
java - MyBatis ジェネレーター - マッパー実装の生成
私は MyBatis ジェネレーターを使用していますが、作成されたファイルは正しいです: モデル クラス、Java マッパー、xml マッパー。問題は、Java マッパーが実装ではなく、単にインターフェイスを生成していることです。私が見る限り、xml マッパーのメソッドを使用して、実装も簡単に生成できるはずです。
マッパー インターフェイスへの実装を生成する方法はありますか? それとも概念を誤解していますか?
mybatis - mybatis 構成ファイル エラー
mybatis サイトに記載されているように、コマンド ラインから構成 xml ファイルを実行すると、次のエラーが発生します。「java –jar mybatis-generator-core-1.3.2.jar –configfile mbg.xml –overwrite –verbose」を実行します</p>
エラー:
どんな助けでも大歓迎です。
java - Mybatis - 3.2.7 でのマッピング エラー、3.0.3 で動作
「mybatis 3.2.7.jar」を使用するとプロジェクトでマッピング エラーが発生しますが、バージョン 3.0 を使用すると動作します。
(試行は loaine sample hello world mybatis に基づいています) これはサンプル プロジェクト ファイル全体です。
java - 複数のデータベースを持つ MyBatis ジェネレーター
最初の 2 つは 1 つのデータベース (derby サンプル) にあり、最後の 1 つは別のデータベース (BIRT サンプル) にあります。
私はダービーでRAD 8.5を使用しています。
これが私のxml構成ファイルです
ジェネレーター構成ファイルを右クリックすると、次のエラーが表示されます。
データベースの起動に失敗しました
この問題に関するガイドは見つかりませんでした。
誰かが私のエラーの場所を知っていますか、または複数のデータベースを持つ mybatis ジェネレーターに関するガイドを知っていますか?