ブログ名

TERASOLUNA データベースアクセスの実装について

1. 必要なもの

データベースアクセスの部品を作るには、 下記の4ファイルを作ることで作成できます。 ※DBのテーブルは別途用意すること。

f:id:shizuuuka0202:20200521222624p:plain

1. DTOの作成について

1.1. DTOの新規作成

  1. [グループID]/[アーティファクトID]/domain/[機能ID]/service/ のフォルダ配下にて、 右クリック→[新規]→[クラス]を押下する。 f:id:shizuuuka0202:20200521222716p:plain

  2. 名前に[任意の機能ID]Dtoを入力し、完了を押下する。 f:id:shizuuuka0202:20200521222754p:plain

  3. [機能ID]Dto.java が作成される。 f:id:shizuuuka0202:20200521222828p:plain

1.2 DTOの項目追加

  1. SQLで取得する項目を追加する。
    ※参考のクラスにはLombokというgetter, setterメソッドの記述を省略できるアノテーションを利用している。
    Lombokを利用することで、クラスにはメソッドの記載はないがアウトラインに記載されている通り、SampleDtoにgetter, setterが実装されている状態になる。 f:id:shizuuuka0202:20200521222856p:plain ※テーブルからSQLで取得したいフィールドをDTOに追加する f:id:shizuuuka0202:20200521222945p:plain

    2. Repositoryの作成について

2.1. Repositoryインターフェースの新規作成

  1. [グループID]/[アーティファクトID]/domain/[機能ID]/repository/ のフォルダ配下にて、 右クリック→[新規]→[インターフェース]を押下する。 f:id:shizuuuka0202:20200521223025p:plain

  2. 名前に[任意の機能ID]Repository を入力し、完了を押下する。 f:id:shizuuuka0202:20200521223107p:plain

  3. [機能ID]Repository.java が作成される。 f:id:shizuuuka0202:20200521223142p:plain

2.2. Repository.xmlの新規作成

  1. ./src/main/resources/[グループID]/[アーティファクトID]/domain/[機能ID]/repository/ のフォルダ配下にて、右クリック→[新規]→[その他]を押下する。 f:id:shizuuuka0202:20200521223210p:plain

  2. XML ファイルを選択し、次へを押下する。 f:id:shizuuuka0202:20200521223236p:plain

  3. ファイル名に[任意の機能ID]Repository.xml を入力し、完了を押下する。 f:id:shizuuuka0202:20200521223318p:plain

  4. [機能ID]Repository.xml が作成される。 f:id:shizuuuka0202:20200521223354p:plain

2.3. MyBatis設定 変更

  1. テーブルのアンダースコア区切りのカラム名をキャメルケース形式のプロパティ名に自動でマッピングする場合、下記の設定を有効にする。
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
  PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>

    <settings>
        <setting name="mapUnderscoreToCamelCase" value="true" />
    </settings>

</configuration>

2.4. 検索処理の作成

  1. Repositoryインタフェースにメソッドを定義する。 f:id:shizuuuka0202:20200521223451p:plain

  2. Repository.xmlSQLを定義する。 f:id:shizuuuka0202:20200521223535p:plain

2.5. 登録処理の作成

  1. Repositoryインタフェースにメソッドを定義する。 f:id:shizuuuka0202:20200521223624p:plain

  2. Repository.xmlSQLを定義する。 f:id:shizuuuka0202:20200521223702p:plain

2.6. 更新処理の作成

  1. Repositoryインタフェースにメソッドを定義する。 f:id:shizuuuka0202:20200521223733p:plain

  2. Repository.xmlSQLを定義する。 f:id:shizuuuka0202:20200521223810p:plain

2.7. 削除処理の作成

  1. Repositoryインタフェースにメソッドを定義する。 f:id:shizuuuka0202:20200521223835p:plain

  2. Repository.xmlSQLを定義する。 f:id:shizuuuka0202:20200521224033p:plain

3. Serviceの作成について

3.1. Serviceインターフェースの新規作成

  1. [グループID]/[アーティファクトID]/domain/[機能ID]/service/ のフォルダ配下にて、 右クリック→[新規]→[インターフェース]を押下する。 f:id:shizuuuka0202:20200521224119p:plain

  2. 名前に[任意の機能ID]Serviceを入力し、完了を押下する。 f:id:shizuuuka0202:20200521224146p:plain

  3. [機能ID]Service.java が作成される。 f:id:shizuuuka0202:20200521224220p:plain

3.2. Serviceクラスの新規作成

  1. [グループID]/[アーティファクトID]/domain/[機能ID]/service/ のフォルダ配下にて、 右クリック→[新規]→[クラス]を押下する。 f:id:shizuuuka0202:20200521224258p:plain

  2. 名前に[任意の機能ID]ServiceImplを入力し、追加を押下する。 f:id:shizuuuka0202:20200521224335p:plain

  3. [4.1.] で作成したインターフェースを選択し、OKを押下する。 f:id:shizuuuka0202:20200521224413p:plain

  4. インターフェースが追加されていることを確認し、完了を押下する。 f:id:shizuuuka0202:20200521224448p:plain

  5. [機能ID]ServiceImpl.java が作成される。 f:id:shizuuuka0202:20200521224517p:plain

3.3. ServiceクラスでRepositoryを呼び出す

  1. Serviceインターフェースにメソッドを定義する。 f:id:shizuuuka0202:20200521224544p:plain

  2. Serviceクラスにて、RepositoryのDIを行う。 また、Serviceインターフェースで定義したメソッドをオーバライドし、Repositoryインターフェースのメソッドを呼び出す。 f:id:shizuuuka0202:20200521224641p:plain


前の記事へ 目次に戻る