【Java×Spring Boot】業務システムの作り方完全解説|MySQL連携&実践コード付き!

プログラミング

「Spring Bootは気になるけど難しそう」
「業務システムって何から作ればいいの?」
そんな悩みをお持ちの方へ。

本記事では、Java×Spring Bootで業務用の在庫管理システムを一から構築する手順を、
初心者でもわかるように解説します。

MySQLとの連携やデータの保存処理も含めて、現場でも通用する基本的な作り方を学べます。


Spring Bootでできることとは?

業務システムに求められる要素を満たせます

結論:Spring Bootを使うと、効率よく安全に業務アプリが作れます。

業務システムに必要な要素は以下の通りです:

  • データの登録・編集・削除(CRUD機能)
  • データベースとの接続(MySQLなど)
  • 安定したルーティング構造
  • コードの再利用性と保守性

Spring Bootは、こうした要素を短時間で構築できる仕組みが揃っています。
政府の情報システム構築標準でも、堅牢で保守性の高い設計が求められています。
(参考:デジタル庁 https://www.digital.go.jp/policies/cloud-by-default/)


プロジェクト構成と準備

まずはSpring Initializrでプロジェクトを生成します

結論:公式サイトで基本構成を作成し、MySQL接続を設定します。

準備手順:

  • https://start.spring.io/ にアクセス
  • 以下の設定を選択:
  • Project: Maven
  • Language: Java
  • Dependencies: Spring Web, Spring Data JPA, MySQL Driver
  • ダウンロード後、任意のIDE(例:IntelliJ、VSCode)で展開

次に、application.propertiesを下記のように設定します。

1
2
3
4
5
spring.datasource.url=jdbc:mysql://localhost:3306/inventory_db
spring.datasource.username=root
spring.datasource.password=password
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true

データベースとエンティティ設計

MySQLのテーブルとJavaクラスを対応させます

結論:テーブル構造に合わせてJavaクラスを作成します。

例:商品テーブル「products」

1
2
3
4
5
CREATE TABLE products (
  id INT AUTO_INCREMENT PRIMARY KEY,
  name VARCHAR(100),
  price INT
);

エンティティクラス(Product.java)

1
2
3
4
5
6
7
8
9
10
11
import jakarta.persistence.*;
 
@Entity
public class Product {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    public int id;
 
    public String name;
    public int price;
}

データ操作の実装:リポジトリとコントローラ

商品情報を一覧・登録・削除できるようにします

結論:JPAの機能を使えば、SQLを書かずに操作できます。

リポジトリインターフェース(ProductRepository.java)

1
2
3
import org.springframework.data.jpa.repository.JpaRepository;
 
public interface ProductRepository extends JpaRepository<Product, Integer> {}

コントローラ(ProductController.java)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
 
import java.util.List;
 
@RestController
@RequestMapping("/products")
public class ProductController {
 
    @Autowired
    private ProductRepository repo;
 
    @GetMapping
    public List<Product> list() {
        return repo.findAll();
    }
 
    @PostMapping
    public Product add(@RequestBody Product p) {
        return repo.save(p);
    }
 
    @DeleteMapping("/{id}")
    public void delete(@PathVariable int id) {
        repo.deleteById(id);
    }
}

躓きやすいエラーと解決策

よくあるエラーとその直し方を紹介します

  • エラー:Unknown database ‘inventory_db’
    → 対策:MySQLにログインし、CREATE DATABASE inventory_db; を実行する
  • エラー:Access denied for user ‘root’@’localhost’
    → 対策:application.properties のパスワード・ユーザー名が正しいか確認する
  • エラー:Entityクラスが認識されない
    → 対策:@EntityScanアノテーションや正しいパッケージ構成を確認する

応用機能と発展例

業務レベルの要件にも対応可能です

以下のような追加機能も簡単に実装可能です:

  • 更新機能(PUTメソッドの追加)
  • 入力値チェック(@Validとバリデーション注釈)
  • ログイン機能(Spring Security)
  • ページネーション対応(Pageable利用)

完成構成のまとめ

1
2
3
4
5
src/
├─ Product.java
├─ ProductRepository.java
├─ ProductController.java
└─ application.properties

動作確認URL例:

  • GET http://localhost:8080/products
  • POST http://localhost:8080/products
  • DELETE http://localhost:8080/products/{id}

まとめ:業務システムは自作できる

本記事では、JavaとSpring BootでMySQL連携の業務システムを構築する方法を解説しました。

学べたこと:

  • Spring Bootのプロジェクト構成と起動方法
  • JPAでのDB操作
  • REST APIの基本実装

今後さらに発展させることで、実務にも使えるレベルのアプリ開発が可能になります。

ぜひ、自分仕様の業務システムを構築してみてください!

タイトルとURLをコピーしました