2019.04.19
こんにちは!
今回はSpring Bootの中でDomaというO/Rマッパーを使用できるようにするための方法について説明していきます。
Doma = Domain Oriented database MApping Frameworkの略でデータベースアクセスのためのライブラリとなります。
特に私が良いと感じるのは2WaySQLであることと、SQLファイルとソースファイルを分けられることです。
このDomaをSpringBootと一緒に利用することで、効率的な実装ができるのではないかと思います。
ではさっそく環境構築していきたいと思います。
以下が導入環境です。
・OS:Windows 10 64bit
・STS:v4.2.0
・Spring Boot:v2.1.4
・ビルドツール:Maven
まず、Domaでスムーズな作業をするためにDoma Toolsをインストールします。
DomaはSTSからインストールします。
メニューバー → [ヘルプ] → [新規ソフトウェアのインストール…]をクリックしてください。
作業対象にhttp://eclipse.seasar.org/updates/3.5/とURLを入力し追加します。
下にDomaと出てくるのでチェックを入れて[次へ]→インストールと進みます。
以上でDoma Toolsがインストールできました。
まずプロジェクトを作成し、その中にあるpom.xmlを開きます。
その中のdependenciesタグの中に以下の文を追加してください。
1 2 3 4 5 | <dependency> <groupId>org.seasar.doma.boot</groupId> <artifactId>doma-spring-boot-starter</artifactId> <version>1.1.0</version> </dependency> |
全体で見ると以下のような感じになります。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | <dependencies> <dependency> <groupId>~~~~</groupId> <artifactId>~~~~~~~~~~</artifactId> </dependency> <dependency> <groupId>~~~~~~</groupId> <artifactId>~~~~~~~~~</artifactId> <scope>~~</scope> </dependency> <dependency> <groupId>~~~</groupId> <artifactId>~~~</artifactId> </dependency> <dependency> <groupId>org.seasar.doma.boot</groupId> <artifactId>doma-spring-boot-starter</artifactId> <version>1.1.0</version> </dependency> </dependencies> |
ファイルを保存したら、プロジェクトをリフレッシュしましょう。
次にメニューバー → プロジェクト → プロパティを選択します。
その中の[Javaコンパイラー] → [注釈処理]とクリックしてください。
その中の「注釈処理を使用可能にする」にチェックを入れ、[適用]を押します。ビルドを促されますのでビルドしましょう。
次に、プロパティの中の[Javaコンパイラー] → [注釈処理] → [ファクトリーパス]を選択してください。
その中の「プロジェクト固有の設定を可能にする」にチェックを入れ、外部JARの追加を押します。
ここでdomaのJARファイルを選択します。
こちらの環境では、domaのJARファイルはC:\Users\ユーザ名\.m2\repository\org\seasar\doma\doma\2.12.0にありました。
ここで[開く]を押して、[適用して閉じる]を押します。
ビルドを促されたらその場でしてしまうようにしましょう。
次にメニューバー → プロジェクト → プロパティを選択し、その中の[Javaのビルド・パス] を選択してください。
その中の[ライブラリ]タグを選択 → [Maven依存関係] の中からdomaのjarファイルを選択して、[適用して閉じる]をクリックしてください。
ビルドを促されますのでビルドします。
ここまでやることで、domaを導入して適当なサンプルを動かしたときによく出力されるエラーはなくなると思います。以下がそのエラー文です。
Repositoryのbeanが見つからないといったエラーになります。
1 2 3 4 5 6 7 8 | *************************** APPLICATION FAILED TO START *************************** Description: Field DemoRepository in jp.sample.web.domain.service.SampleService required a bean of type 'jp.sample.web.domain.repository.DemoRepository' that could not be found. Action: Consider defining a bean of type 'jp.sample.web.domain.repository.DemoRepository' in your configuration. |
以上で、Domaの導入は終わりです。
次回はこのDomaを使ってMySQLのデータにアクセスする手順を説明しようと思います。