Java Spring Boot MySQLに接続してselectするサンプル(JPA)

JavaのSpring BootでMySQLに接続してselectするサンプルです。
Spring DATA JPAを使用します。

確認環境
・Windows10
・STS 3.9.6
・JDK 10.0.2
・Spring Boot 2.0.5

目次

環境

今回作成/修正するファイルは以下の赤枠の部分です。

 

以下は、今回使用するXAMPPのMySQLのテーブルです。テーブル名は「syain」です。

XAMPPをインストールする手順(Windows10)
XAMPP phpMyAdminでデータベースを作成する手順
XAMPP phpMyAdminでテーブルを作成する手順

 

1.pom.xmlの設定

pom.xmlのdependenciesの箇所に以下の2-9行目を追記します。

	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-data-jpa</artifactId>
		</dependency>
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
		</dependency>
	</dependencies>

 

2.application.propertiesの設定

application.propertiesにDB情報を記述しています。
1行目は、DB構造の変更を禁止します。
2行目のtestphpはデータベース名です。

spring.jpa.hibernate.ddl-auto=none
spring.datasource.url=jdbc:mysql://localhost:3306/testphp
spring.datasource.username=root
spring.datasource.password=

 

3.エンティティのファイル(Syain.java)

エンティティのクラスです。
Syainテーブルのデータを格納します。

package com.example.demo;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Id;

@Entity
@Table(name="syain")
public class Syain {
    @Id
    private Integer id;
    
    private String name;
    
    private String romaji;
    
    public Integer getId() {
        return id;
    }
	public String getName() {
		return name;
	}
	public String getRomaji() {
		return romaji;
	}
}

 

4.レポジトリのインターフェース(SyainRepository.java)

レポジトリのインターフェースです。
SQLを実行する部分に該当します。
4行目のSyainはエンティティの型で、Integerは@Idの型です。

package com.example.demo;
import org.springframework.data.jpa.repository.JpaRepository;

public interface SyainRepository extends JpaRepository<Syain, Integer> {
}

 

5.コントローラのクラス(MainController.java)

コントローラのクラスです。

package com.example.demo;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class MainController {
    @Autowired
    private SyainRepository syainRepository;

    @RequestMapping(value = "/test1")
    public List<Syain> get() {
        return syainRepository.findAll();
    }
}

7行目のRestControllerアノテーションは、メソッドの戻り値を画面に表示します。

 

データの確認

1.以下のURLにアクセスします。
http://localhost:8080/test1

2.画面にJSON形式で以下のように表示されます。
[{"id":1,"name":"鈴木","romaji":"suzuki"},{"id":2,"name":"田中","romaji":"tanaka"},{"id":3,"name":"佐藤","romaji":"sato"}]

リンク

以下は、springのAccessing data with MySQLのリンクです。
https://spring.io/guides/gs/accessing-data-mysql/

関連の記事

Java Spring Bootでhello worldを表示するサンプル
Java Spring Boot フォームの値を別画面に渡すサンプル
Java Spring Boot DI(依存性の注入)のサンプル
Java Spring Boot AOPのサンプル
Java Spring Boot JSONの送信と受信のサンプル

△上に戻る