1
0

SpringBootでEntityを使ったMySQL接続の基礎

Last updated at Posted at 2024-03-23

この記事はこれの続きです

概要

『テーブルのレコードの値をコンソールに表示する』のが本記事のゴールです。
最小限のコード かつ 超基本的な内容 となっています。

MySQL側

『neko』という名前のスキーマ―に、『unko』という名前のテーブル。
image.png

カラムは2つのみ。
image.png

あらかじめレコードが入っています。
image.png

build.gradle

dependenciesに下記の赤枠部分を追記します。
image.png

コピペ用
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
compileOnly 'org.projectlombok:lombok'
runtimeOnly 'com.mysql:mysql-connector-j'

gradle設定ファイル変更したら下記忘れないように注意。
image.png

application.properties

MySQL接続情報を追記します。
image.png

コピペ用
spring.datasource.url=jdbc:mysql://サーバーIPアドレス:MySQLポート番号/スキーマ―名
spring.datasource.username=ユーザー名
spring.datasource.password=パスワード
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

テーブルの構造に沿ったクラスを作成

Unko.java
package com.example.demo;

import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import lombok.Data;


//クラス名はデータベースのテーブル名と一致させる必要があります。

@Entity
@Data
public class Unko {
	
	
	public Unko() {}
	
	
	//変数名はテーブルのカラム名と一致させる必要があります。
	
	
	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY)
    private Integer record_id;
	
	
	private String test_val;

	
}

Repositoryクラス作成

UnkoRepository.java
package com.example.demo;

import org.springframework.data.jpa.repository.JpaRepository;

public interface UnkoRepository extends JpaRepository<Unko, Integer> {
}

Serviceクラス作成

UnkoService.java
package com.example.demo;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;


@Service
@Transactional
public class UnkoService {

	
	@Autowired
    UnkoRepository unkoRepository;

	
    public List<Unko> findAll() {
        return unkoRepository.findAll();
    }
    
    
}

作ったServiceを使ってみる

DemoController.java
package com.example.demo;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;


@Controller
public class DemoController {

	
	@Autowired
    UnkoService unko_service;
	
	
	@GetMapping("/")
	public String getIndex() {
		
		
		//MySQLから全レコード分取得。
		List<Unko> unko_list_ = unko_service.findAll();
		
		
		//取得した中身確認。
		unko_list_.forEach(item_ -> {
			System.out.println(item_.getRecord_id());
			System.out.println(item_.getTest_val());
        });
		
		
		return "/index";
		
		
	}
	
	
}

実行結果

ブラウザーで『http://localhost:8080/』にアクセスすると、STS4側のコンソールは下記。
image.png

最終的な構成

赤枠が追加 or 変更になったファイルです。
image.png

この記事の続き

参考サイトさん

バージョン

Microsoft Windows [Version 10.0.19045.4170]
Spring Boot v3.1.9

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0