POは、属性の集合と属性の取得・設定メソッドから構成される永続オブジェクト(Persistent Object)であり、データベースのテーブルに相当します。
永続化層のコードを開発する際には、データテーブルに従ってPOクラスを記述する必要があり、実際の開発では通常、コードジェネレータ(ツール)を使用してPOクラスのコードを生成します。
要件分析段階でデータモデルを分析するため、POクラスがデータモデルに対応するため、ツールを使用して要件分析段階でPOクラスを生成し、以下のインターフェース定義用のモデルクラスを用意します。
エンタープライズ開発では、通常、コード生成ツールを使用してこれらのファイルを自動的に生成します。
mybatis-plus のジェネレーター プロジェクトを使用して、PO クラス、Mapper インターフェイス、および Mapper xml ファイルを生成します。アドレスは、GitHub - baomidou/generator: Any Codegeneratorです。
以下に示すように、xuecheng-plus-generator.zip を解凍し、プロジェクトのルート ディレクトリにコピーします。
IDEA を開いてプロジェクトにインポートし、xuecheng-plus-generator プロジェクトの pom.xml を開き、[Maven プロジェクトとして追加] を右クリックして Maven プロジェクトを自動的に識別します。
今回は、次の図に示すように、コンテンツ管理モジュールの PO クラス、Mapper インターフェイス、および Mapper xml ファイルを生成し、ContentCodeGenerator クラスを見つけます。
ContentCodeGenerator クラスの情報 (データベース アドレス、データベース アカウント、データベース パスワード、生成されたテーブル、生成されたパスなど) を次のように変更します。
//データベースアカウント private static Final String DATA_SOURCE_USER_NAME = "root"; //データベースパスワード private static Final String DATA_SOURCE_PASSWORD = "mysql"; //生成されたテーブル private static Final String[] TABLE_NAMES = new String[]{ "course_base", " course_market"、 "course_Teacher"、 "course_category"、 "teachplan"、 "teachplan_media"、 "course_publish"、 "course_publish_pre" }; // TODO はデフォルトでエンティティを生成するため、この変数を変更するには DTO を生成する必要があります // 通常、最初に DTO クラスを生成し、次にこのパラメータを変更してから PO クラスを生成する必要があります。
プライベート静的最終ブール値 IS_DTO = false;
public static void main(String[] args) { .... // 生成経路 gc.setOutputDir(System.getProperty("user.dir") + "/xuecheng-plus-generator/src/main/java"); .... // データソース構成 DataSourceConfig dsc = new DataSourceConfig(); dsc.setDbType(DbType.MYSQL); dsc.setUrl("jdbc:mysql://192.168.101.65:3306/xcplus_" + SERVICE_NAME+"166" + "?serverTimezone=UTC&useUnicode=true&useSSL=false&characterEncoding=utf8"); ...
|
変更が完了したら、次のようにこのクラスの main メソッドを実行してコンテンツ パッケージを自動的に生成します。
このパッケージでは、コンテンツ管理モジュールのコントローラー、マッパー、po、およびサービス関連のコードが自動的に生成されますが、ここでは po クラスのみが必要です。
po クラスをモデル プロジェクトにコピーします。
PO クラスを開き、コンパイル エラーを見つけます。これは、依存関係パッケージがないことが原因です。使用される永続層フレームワークは MyBatisPlus です。MyBatisPlus フレームワークのいくつかのアノテーションが、生成された po クラスに追加されます。ここでは、MyBatisPlus フレームワークの依存関係を示しますエラーを排除するには追加する必要があります。
以下のモデルプロジェクトに依存関係を追加します。
<dependency> <dependency> <groupId>com.xuecheng</groupId> <artifactId>xuecheng-plus-base</artifactId> <version>0.0.1-SNAPSHOT</version> </dependency> <!--presentmybatisplus注解追加相关注解保護证不报错--> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-annotation</artifactId> <version>${mybatis-plus-boot-starter.version} </version> </dependency> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-core</artifactId> <version>${mybatis-plus-boot-starter.version}</version> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </dependency> </dependency> |