👏
Spring Boot入門〜データアクセス編〜
Spring BootからMySQLを使ってSELECTする簡単なプログラムです。
本ページは、chatGPTにて生成した文章に加筆修正をしています。
MySQLのインストール
1. MySQLのインストール
HomeBrewを使ってMySQLをインストールします。
ターミナルを開いて以下のコマンドを実行してください。
brew install mysql
2. MySQLサーバの起動
MySQLを起動します。
mysql.server start
3. MySQLの設定
MySQLにログインしデータベースを作成します。
mysql -u root
ログイン後、以下のコマンドでデータベースを作成します。
CREATE DATABASE testdb;
作成したデータベースに切り替えます。
USE testdb;
切り替え後、以下のDDLを実行します。
CREATE TABLE users (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(255) NOT NULL,
email VARCHAR(255) NOT NULL,
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
);
SpringBootアプリケーション作成
1. Spring Initializrでプロジェクト作成
Spring Initializrにアクセスし、以下の設定でプロジェクトを作成する。
category | value |
---|---|
Project | Maven Project |
Language | Java11 |
SpringBoot | 2.6.2 |
Packaging | jar |
依存性は以下を追加する。
- Spring Web
- Spring Data JPA
- MySQL Driver
2. アプリケーションの実装
以下のようなモデルクラスを作成します。
@Entity
@Table(name="employee")
public class Employee {
@Id
@GeneratedValue(storategy = GenerationType.IDENTITY)
private Long id;
private String name;
private String department;
// getter, setter, constructorは省略
}
以下のようなRepositoryインターフェースを作成します。
@Repository
public interface EmployeeRepository extends JpaRepository<Employee, Long> {
}
以下のようなControllerクラスを作成します。
@RestController
@RequestMapping("/employee")
public class EmployeeController {
@Autowired
private EmployeeRepsitory employeeRepository;
@GetMapping
public List<Employee> getAllEmployees() {
return employeeRepository.findAll();
}
@PostMapping
public Employee createEmployee(@RequestBody Employee employee) {
return employeeRepository.save(employee);
}
}
以下のようにアプリケーションの設定を編集します。
(ここではaplication.propertiesの前提とします。)
spring.datasource.url=jdbc:mysql://localhost:3306/testdb
spirng.datasource.username=root
spring.datasource.password=
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.jpa.show-sql=true
アプリケーションの実行
以下のコマンドで実行します。
./mvnw spring-boot:run
Discussion