Spring-batch-xml-to-mysql
Spring Batch-XMLからMySQL
この章では、XMLリーダーとMySQLライターを使用するSpring Batchアプリケーションを作成します。
以下は、このアプリケーションで使用している入力XMLドキュメントです。 このドキュメントには、チュートリアルID、チュートリアル作成者、チュートリアルタイトル、提出日、チュートリアルアイコン、チュートリアルの説明などの詳細を指定するデータレコードが含まれています。
プロセッサ-アプリケーションで使用しているプロセッサは、PDFドキュメントに各レコードのデータを書き込むカスタムプロセッサです。
バッチ処理では、 "n" レコードまたはデータ要素が読み取られた場合、各レコードについて、データを読み取り、処理し、ライターにデータを書き込みます。 データを処理するには、渡されたプロセッサで中継します。 この場合、カスタムプロセッサクラスでは、特定のPDFドキュメントをロードし、新しいページを作成し、データ形式を表形式でPDFに書き込むコードを作成しました。
最後に、このアプリケーションを実行すると、XMLドキュメントからすべてのデータ項目が読み取られ、MySQLデータベースに保存され、特定のPDFドキュメントの個々のページに印刷されます。
jobConfig.xml
サンプルのSpring Batchアプリケーションの設定ファイルは次のとおりです。 このファイルでは、ジョブとステップを定義します。 これらに加えて、ItemReader、ItemProcessor、ItemWriterのBeanも定義します。 (ここでは、それらをそれぞれのクラスに関連付け、必要なプロパティの値を渡して設定します。)
Context.xml
以下は、Spring Batchアプリケーションの context.xml です。 このファイルでは、ジョブリポジトリ、ジョブランチャー、トランザクションマネージャーなどのBeanを定義します。
CustomItemProcessor.java
以下は processor クラスです。 このクラスでは、アプリケーションで処理のコードを記述します。 ここでは、PDFドキュメントをロードし、新しいページを作成し、テーブルを作成し、各レコードに次の値を挿入しています:チュートリアルID、チュートリアル名、作成者、テーブル内の提出日。
TutorialFieldSetMapper.java
以下は、データをチュートリアルクラスに設定するReportFieldSetMapperクラスです。
Tutorial.java
以下は Tutorial クラスです。 これは、 setter および getter メソッドを持つ単純なクラスです。
App.java
以下は、バッチ処理を実行するコードです。 このクラスでは、JobLauncherを実行してバッチアプリケーションを起動します。
このアプリケーションを実行すると、次の出力が生成されます。
データベースの details.tutorial テーブルを確認すると、次の出力が表示されます-
tutorial _id | tutorial _author | tutorial _title | submission _date | tutorial _icon | tutorial _description |
---|---|---|---|---|---|
1001 | Sanjay | Learn Java | 06-05-2007 | https://www.tutorials point.com/java/images/java-mini-logo.jpg | Java is a high-level programming language originally developed by Sun Microsystems and released in 1995. Java runs on a variety of platforms. This tutorial gives a complete understanding of Java. |
1002 | Abdul S | Learn MySQL | 19-04-2007 | https://www. finddevguides.com/mysql/images/mysql-minilogo.jpg | MySQL is the most popular Open Source Relational SQL database management system. MySQL is one of the best RDBMS being used for developing web-based software applications. This tutorial will give you quick start with MySQL and make you comfortable with MySQL programming. |
1003 | Learn JavaFX | Krishna Kasyap | 06-07-2017 | https://www. finddevguides.com/javafx/images/javafx-minilogo.jpg | MySQL is the most popular Open Source Relational SQL database management system. MySQL is one of the best RDBMS being used for developing web-based software applications. This tutorial will give you quick start with MySQL and make you comfortable with MySQL programming. |
これにより、以下に示すように各ページのレコードを含むPDFが生成されます。