ゼロからはじめるWEBプログラミング入門

未経験者でも初心者でも関係なく、とにかくWEBサイトを作るところから始めるブログ!

Spring Bootで PostgreSQLをDOMAで動かす

f:id:sbc-web:20170611220912p:plain


内容

Spring BootでPostgreSQLDOMAで動かす

環境


設定内容

pom.xml の設定内容

下記を追加

  1. doma-spring-boot-starter
  2. postgresql

pom.xml

    <dependency>
        <groupId>org.seasar.doma.boot</groupId>
        <artifactId>doma-spring-boot-starter</artifactId>
        <version>1.1.0</version>
    </dependency>

    <dependency>
        <groupId>org.postgresql</groupId>
        <artifactId>postgresql</artifactId>
    </dependency>


注釈設定 & DOMAを外部JARに追加

  • プロジェクトのプロパティーを開く

f:id:sbc-web:20170611213907p:plain


  • 注釈処理でプロジェクトの固有の設定を可能に設定

f:id:sbc-web:20170611213914p:plain


  • 再ビルドする

f:id:sbc-web:20170611213924p:plain


  • ファクトリーパスも固有の設定を可能に設定し外部Jarを追加

f:id:sbc-web:20170611213931p:plain


  • Domaのjarを選択

f:id:sbc-web:20170611213941p:plain


  • Domaが追加されたのを確認しOK

f:id:sbc-web:20170611213947p:plain


  • 再ビルドする

f:id:sbc-web:20170611213957p:plain


DBの接続情報設定

application.ymlにPostgreSQLの接続情報を追記

application.yml
spring:
  datasource:
    url: jdbc:postgresql://db.w-hippo.com/webhippodb
    driverClassName: org.postgresql.Driver
    username: webhippo
    password: *****************

# Doma2 Reference URL <https://github.com/domaframework/doma-spring-boot>
doma:
  dialect: postgres


ファイアウォールの設定

アプリを実行してみる

ファイアウォールの設定前に
試しにアプリを実行すると以下のエラーになった

org.postgresql.util.PSQLException: 接続試行は失敗しました。
    at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:272) ~[postgresql-9.4.1212.jre7.jar:9.4.1212.jre7]
~

ファイアウォールの設定

firewall-cmd --add-service=postgresql --zone=public --permanent

f:id:sbc-web:20170530231729p:plain


systemctl restart firewalld

f:id:sbc-web:20170530231838p:plain


PostgreSQL 側の設定

/var/lib/pgsql/data/postgresql.conf

許可する端末のIPを追加
(ローカル環境なのでとりあえずALL許可"*“)

listen_addresses = '*'


/var/lib/pgsql/data/pg_hba.conf

ローカルのネットワークをパスワード認証にする

# ADD
host    all             all             192.168.0.0/24          md5


PostgreSQL再起動
systemctl restart postgresql

f:id:sbc-web:20170530233040p:plain


確認

上記設定後にSpring Bootを実行すると無事に起動
起動すればDB接続設定はOK(接続情報が間違っているとエラーになる)

f:id:sbc-web:20170530233416p:plain