【Java で Webアプリ開発入門】Spring Boot で MySQL に接続する方法

何の記事?

Spring Boot で MySQL にアクセスすることがあったので、覚え書きにとまとめます


MySQL
データベースとユーザーを作成

mysql -u root -p

CREATE でテーブルを作成して、下記コマンドでユーザーを作成

CREATE USER 'your name'@'localhost' IDENTIFIED BY 'your password';

最後に、作成したユーザーにデータベースの操作権限を付与します。

GRANT ALL PRIVILEGES ON 'database name'.* TO 'your name'@'localhost';

設定を反映します。

FLUSH PRIVILEGES;


application.yml ファイル

spring の resources フォルダに config フォルダを作成し、application.yml ファイルに以下を書きます。: の後に スペース忘れたとかでえ怒られることがあるので気をつけてください。

spring:

 datasource:

  url: jdbc:mysql://localhost/使いたいデータベース名?useSSL=false

  username: 名前

  password: パスワード

  driverClassName: com.mysql.jdbc.Driver


依存性

Jpa, Web, MySQL と Thymeleaf を選択してください。


エンティティの作成

コントローラーを置いている箇所にエンティティを作成します。

@Entity

@Table(name="使うテーブル名")

・・・

  @Id

  private String name;

・・・

@Id が付いているものは主キーであることを示します。


レポジトリーの作成

public interface Repository extends JpaRepository<Entityで作ったクラス,主キーの型>{

}


コントローラー

@Autowired

Repository repository

上記のようにレポジトリーのインスタンス Iterable<Entityで作ったクラス> data のように作って findAll() などでいれてあげると使えるようになります。

Thymeleaf 側では、th:each="${d:data}" のようにやれば使いやすいかと思います。


最後に

時間がなくまとまらない説明になってしまいました・・・いつか訂正したいなぁ