Spring+MyBatis備忘録 その1 ~準備編~

Spring BootプロジェクトでMyBatisを使用して、PostgreSQLからのデータ抽出結果を表形式で出力する(JSP)、といったようなことがやりたい。
プロジェクトはSTSプラグイン導入済のEclipseで作成する。

この記事はコーディング以外の部分をまとめた。

参考
Spring Boot + MyBatisでデータベースに接続する方法
SpringBootやってみる~DBアクセス(mybatis)編~ データ取得①
Spring Boot+MyBatis+PostgreSQLでデータ取得まで

プロジェクト作成

追加したライブラリは以下3つ。
・MyBatis Framework
・PostgreSQL Driver
・Spring Web

画像1

とりあえずプロジェクト起動してみると今まで出くわさなかったエラーが発生。PostgreSQL Driverを追加したことによるっぽい。

***************************
APPLICATION FAILED TO START
***************************
Description:
Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.
Reason: Failed to determine a suitable driver class

Action:
Consider the following:
	If you want an embedded database (H2, HSQL or Derby), please put it on the classpath.
	If you have database settings to be loaded from a particular profile you may need to activate it (no profiles are currently active).

まあどうもデータソースの接続URLを記述する必要があるらしいので、src/main/resources/application.properties にJDBC接続URLを設定してやると、とりあえず起動はするようになる。ふーん。

spring.datasource.url=jdbc:postgresql://localhost:5432/testdb01


application.properties

JDBC用の接続情報を application.properties に記載してやる。
spring.datasource.driver-class-nameにPostgreSQLドライバーを使用する旨を明記する以外は普通にJDBCを使う際と同じような設定項目を以下変数に渡してやれば良い。

spring.datasource.driver-class-name=org.postgresql.Driver
spring.datasource.url=jdbc:postgresql://localhost:5432/testdb01
spring.datasource.username=testrole01
spring.datasource.password=testROLE01


pom.xml

今回はテンプレートエンジンにJSPを採用したいという都合で、pom.xmlに以下を追記する。

<dependency>
	<groupId>org.apache.tomcat.embed</groupId>
    <artifactId>tomcat-embed-jasper</artifactId>
</dependency>


WEB-INFフォルダ作成

以下のフォルダをガシガシ作っていく。
・src/main/webapp
・src/main/webapp/WEB-INF
・src/main/webapp/WEB-INF/lib
・src/main/webapp/WEB-INF/view

使用用途は以下の通り。

lib
JSPでデータ表示する際にJSTL(JavaServer Pages Standard Tag Library)を使用したいため、そのjarファイルの置き場として用いる。

view
view置き場。


JSTLライブラリ配置

こっちの記事に書いた:JSTL備忘録

今回はJSPでデータを表示する際にループを使用したかったので、そのためにJSTLが必要だった。

JSTL API、JSTL 実装の2つのjarファイルを取得して、プロジェクトのライブラリフォルダ(src/main/webapp/WEB-INF/lib)に配置する。



この記事が気に入ったらサポートをしてみませんか?