【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: パスワード
依存性
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}" のようにやれば使いやすいかと思います。
最後に
時間がなくまとまらない説明になってしまいました・・・いつか訂正したいなぁ