主には以下の記事の某TERASOLUNAの続き。すこしだけやる。
TERASOLUNAのチュートリアル以外だとほぼ使えないかも?
参考にしたチュートリアル↓
11.1. チュートリアル(Todoアプリケーション) — TERASOLUNA Server Framework for Java (5.x) Development Guideline 5.5.1.RELEASE documentation
なにをやるのか
前回やったことと今回やること
【前回やったこと】
・EclipseにSpring Tool Suiteプラグインのインストール
・Win10にMavenのダウンロード&インストール
・ブランクプロジェクトの作成@Maven(インメモリ実装)
・Eclipseにプロジェクトのインポート
【今回やること】
前回はチュートリルのアプリケーション構築にて「インメモリ実装」を行ったためDB側の実装をまともに行える状態になっていませんでした。
なのでSpringでのDB接続周辺の一つの実装方法を学ぶため「MyBatis3用のブランクプロジェクト」を作成してEclipseに取り込みます。
前回実施したものを前提にするため、「todo」プロジェクトが残った状態でプロジェクトを追加します。
また今回の操作だけでは同様の動作にならない可能性もあります。
MyBatis3とは
そうゆう記事ではないので簡単にだけ。
MyBatis はカスタム SQL、ストアドプロシージャ、高度なマッピング処理に対応した優れた永続化フレームワークです。 MyBatisを使うことで、直接 JDBC を扱うコードを書いたり、クエリ引数やクエリ結果を手動で設定する必要がほとんどなくなります。 MyBatis の設定やデータベースレコードと Java オブジェクトの関連付けは、XML またはアノテーションを使って行うことができます。
今回のチュートリアルでは主に、アプリからDBに接続及び参照、更新するためのSQL実行のために使用します。
H2 Databaseとは
H2 Databaseとは、Javaプラットフォーム上で動く、ACID関係データベース。オープンソース。
APサーバ上にDBを作成する感じか?
ほんとは仮想環境にMYSQLを導入してみたりしてやってみたかったけど、諸事情につき検証時間がとれないためチュートリアルに沿って一旦はH2 Databaseを使用します。
Maven側の操作
ブランクプロジェクトの作成@Maven
MavenにMyBatis3用ブランクプロジェクトを作成します。
コマンドプロンプト上で以下のコマンドを実行します。前回作成したプロジェクトがそのまま残っているため、「MyBatis」をチュートリアルのコマンドに一部追加してあります。
※コマンドプロンプト上でプロジェクトフォルダを作成したい場所に移動するのを忘れずに。
mvn archetype:generate -B^ -DarchetypeGroupId=org.terasoluna.gfw.blank^ -DarchetypeArtifactId=terasoluna-gfw-web-blank-mybatis3-archetype^ -DarchetypeVersion=5.5.1.RELEASE^ -DgroupId=com.example.todoMyBatis^ -DartifactId=todoMyBatis^ -Dversion=1.0.0-SNAPSHOT
「BUILD SUCCESS」が表示されるまで待ちます。
プロジェクトフォルダ直下に「pom.xml」が存在していることだけ確かめてOKとしました。
Eclipseプロジェクトへの変換@Maven
ここも前回記事と同様の流れでダウンロードしたプロジェクトをEclipse用に変換しておきます。
以下、コマンドプロンプト上の操作になります。
プロジェクト直下に移動。
C:\todoMyBatis
Eclipse用のプロジェクトへの変換。
mvn eclipse:eclipse
こちらも「BUILD SUCCESS」が表示されるまで待ちます。
Maven側の準備がここまでで完了。
Eclipse側の操作
ここからは基本的にはEclipse上での操作となります。
プロジェクトのインポート
Maven側に作成したプロジェクトをEclipseにインポートします。
こんな感じでできれば大丈夫でしょう。
ここまででエラーが表示されなければとりあえずOK!
少しこなれてきましたね。
なお細かい操作手順は以下の記事の「プロジェクトのインポート」の通りになります。
またここの段階で前回同様にプロジェクトが正しく動作するか動作確認をしておいた方が無難でしょう。
www.wantanblog.com
xxx-infra.propertiesファイルの編集
DBの向き先を設定するためにプロパティファイルの編集を行います。
私の場合は以下のファイル。
C:\todoMyBatis\src\main\resources\META-INF\spring\todoMyBatis-infra.properties
向き先の設定とAPサーバ起動時にH2 Database上にテーブルが存在しない場合は作成するようにします。これはチュートリアルの内容通りです。
設定するプロパティは「database.url」で私は以下のように既にあるものを編集しました。プロジェクト名称だけ注意する。
#編集した設定 database.url=jdbc:h2:mem:todoMyBatis;DB_CLOSE_DELAY=-1;INIT=create table if not exists todo(todo_id varchar(36) primary key, todo_title varchar(30), finished boolean, created_at timestamp)
ソースファイルのコピー
チュートリルに沿って進めていない場合は全くの不要となります。私の同じことをやっている場合にはプロジェクト名の変更にファイルの中身や名称を修正しましょう。
今回はプロジェクト名称を変えたので、そこを置換するのが少し面倒でした。もっとかしこい方法があるのかもしれない。
沿わない場合は別途動作確認ができる画面を準備することになります。
Mapper.xmlファイルの作成
Repositoryインタフェースのメソッドが呼び出された際に実行するSQLを定義するためのMapperファイルを作成します。
ちなみにRepositoryインタフェースはMyBatisの場合は自動生成されるそうです。
私の場合の実装内容はチュートリアルの通りで、以下のファイルを追加し中身を追記しました。
C:\todoMyBatis\src\main\resources\com\example\todoMyBatis\domain\repository\todoMyBatis\TodoMyBatisRepository.xml
動作確認
今回作成したプロジェクトをサーバ実行する。
私の場合は以下へアクセスし、画面が表示されることを確認した。
またデータの登録と参照が行えることを確認する。
http://localhost:8080/todoMyBatis/todoMyBatis/list
今回は特に問題なく進みました(*´ω`*)
チュートリアル自体はまだ続くかも。