Perkhidmatan Mikro dan API REST Spring Boot 4 · Pelajaran

Mencipta Entiti dan Repositori

Tentukan entiti JPA untuk mewakili model data anda dan gunakan repositori Spring Data untuk akses data.

Pelajaran 3 daripada 611 langkah

Mencipta Entiti dan Repositori ialah pelajaran Perkhidmatan Mikro dan API REST Spring Boot 4 percuma di CoddyKit. Ini ialah pelajaran 3 daripada 6. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Perkhidmatan Mikro dan API REST Spring Boot 4, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Perkhidmatan Mikro dan API REST Spring Boot 4 merangkumi sejumlah 6 pelajaran.

Apakah Entiti JPA?

Selamat datang ke dunia penciptaan model data! Dalam Spring Boot dengan JPA, Entiti ialah objek Java biasa yang mewakili jadual dalam pangkalan data anda.

Anggap ia sebagai pelan tindakan untuk baris dalam jadual anda. Setiap tika kelas entiti sepadan dengan satu baris dalam jadual pangkalan data.

Menandakan Kelas sebagai Entiti

Untuk memberitahu Spring Boot bahawa sesuatu kelas Java ialah entiti, kita menggunakan anotasi @Entity. Anotasi ini berasal daripada Java Persistence API (JPA).

Apabila Spring melihat @Entity, ia tahu untuk memetakan kelas ini kepada jadual pangkalan data. Secara lalai, nama jadual akan sama dengan nama kelas (contohnya, kelas Product dipetakan kepada jadual Product).

Mentakrifkan Kunci Utama dengan @Id

Setiap jadual pangkalan data memerlukan kunci utama untuk mengenal pasti setiap rekod secara unik. Dalam JPA, kita menandakan medan sebagai kunci utama menggunakan anotasi @Id.

Selalunya, kita mahu pangkalan data menjana ID ini secara automatik untuk kita. Untuk tujuan ini, kita menggunakan anotasi @GeneratedValue, biasanya dengan strategi seperti IDENTITY untuk nombor yang meningkat secara automatik.

Entiti Product Pertama Kita

Mari cipta entiti Product ringkas. Entiti ini akan mempunyai ID, nama dan harga. Perhatikan anotasi @Entity, @Id dan @GeneratedValue.

Jangan lupa sertakan pembina lalai serta getter/setter supaya JPA berfungsi dengan betul.

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

@Entity
public class Product {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    private String name;
    private double price;

    public Product() {}

    public Product(String name, double price) {
        this.name = name;
        this.price = price;
    }

    public Long getId() { return id; }
    public void setId(Long id) { this.id = id; }
    public String getName() { return name; }
    public void setName(String name) { this.name = name; }
    public double getPrice() { return price; }
    public void setPrice(double price) { this.price = price; }

    @Override
    public String toString() {
        return "Product{" +
               "id=" + id +
               ", name='" + name + '\'' +
               ", price=" + price +
               '}';
    }
}

Pengenalan kepada Repositori Spring Data

Sekarang kita sudah mempunyai entiti, bagaimanakah kita berinteraksi dengan pangkalan data untuk menyimpan, mendapatkan semula, mengemas kini atau memadam produk? Di sinilah repositori memainkan peranan!

Spring Data JPA menyediakan abstraksi berkuasa yang memudahkan capaian data. Daripada menulis pertanyaan SQL yang kompleks, anda hanya perlu mentakrifkan antara muka yang ringkas.

Antara Muka JpaRepository

Teras Spring Data JPA ialah antara muka JpaRepository. Apabila antara muka repositori anda mengembangkan JpaRepository, Spring secara automatik menyediakan kaedah CRUD (Cipta, Baca, Kemas Kini, Padam) standard untuk entiti anda.

Anda hanya perlu menentukan jenis entiti dan jenis kunci utamanya, seperti ini: JpaRepository<YourEntity, ID_Type>.

Mentakrifkan Repositori Product Kita

Mari kita cipta repositori untuk entiti Product kita. Ia hanyalah antara muka yang mengembangkan JpaRepository, lalu memberitahu Spring supaya menjana kod yang diperlukan untuk kita.

Kita menentukan Product sebagai jenis entiti dan Long sebagai jenis kunci utama.

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

@Repository
public interface ProductRepository extends JpaRepository<Product, Long> {
    // Spring Data JPA automatically provides methods like:
    // save(), findById(), findAll(), deleteById(), etc.
}

Menggunakan Repositori dalam Spring

Dalam aplikasi Spring Boot, anda biasanya akan menyuntik repositori ke dalam perkhidmatan atau pengawal menggunakan @Autowired. Kemudian, anda boleh memanggil kaedah terbina dalam.

  • repository.save(product): Menyimpan produk baharu atau mengemas kini produk sedia ada.
  • repository.findById(id): Mencari produk berdasarkan IDnya.
  • repository.findAll(): Mendapatkan semula semua produk.

Entiti & Repositori dalam Tindakan

Berikut ialah contoh konseptual yang menunjukkan cara entiti dicipta dan cara repositori menyimpannya. Kita mensimulasikan tingkah laku repositori supaya contoh ini boleh dijalankan tanpa persediaan Spring Boot yang lengkap.

Contoh ini menunjukkan penciptaan objek Product dan penggunaan kaedah 'save'.

// --- Simulated Product Entity --- //
class Product {
    private Long id;
    private String name;
    private double price;

    public Product(Long id, String name, double price) {
        this.id = id;
        this.name = name;
        this.price = price;
    }
    // Getters and Setters (simplified for brevity)
    public Long getId() { return id; }
    public void setId(Long id) { this.id = id; }
    public String getName() { return name; }
    public void setName(String name) { this.name = name; }
    public double getPrice() { return price; }
    public void setPrice(double price) { this.price = price; }

    @Override
    public String toString() {
        return "Product{id=" + id + ", name='" + name + "', price=" + price + "}";
    }
}

// --- Simulated Product Repository Interface --- //
interface ProductRepository {
    Product save(Product product);
}

// --- Simulated Product Repository Implementation --- //
class SimpleProductRepository implements ProductRepository {
    private static Long nextId = 1L;
    @Override
    public Product save(Product product) {
        if (product.getId() == null) {
            product.setId(nextId++); // Assign a new ID
        }
        System.out.println("Simulating save: " + product);
        return product;
    }
}

public class Main {
    public static void main(String[] args) {
        // 1. Create a Product entity instance
        Product newProduct = new Product(null, "Wireless Earbuds", 99.99);
        System.out.println("Created product: " + newProduct);

        // 2. Simulate saving it using our repository
        ProductRepository repository = new SimpleProductRepository();
        Product savedProduct = repository.save(newProduct);

        System.out.println("Product after simulated save: " + savedProduct);
    }
}

Semakan Ringkas: Konsep Teras

Anotasi yang manakah digunakan untuk menandakan sesuatu kelas sebagai entiti JPA yang dipetakan kepada jadual pangkalan data?

Imbas Kembali: Entiti & Repositori

Anda telah mempelajari asas mentakrifkan model data anda dengan Spring Data JPA!

  • Entiti ialah objek Java yang mewakili jadual pangkalan data dan ditandakan dengan @Entity.
  • Kunci utama ditentukan dengan @Id dan biasanya dijana secara automatik menggunakan @GeneratedValue.
  • Repositori ialah antara muka yang mengembangkan JpaRepository serta menyediakan kaedah berkuasa dan sedia digunakan untuk berinteraksi dengan pangkalan data anda.

Kedua-dua konsep ini merupakan asas utama penyimpanan data dalam Spring Boot.

Percuma untuk bermula

Pelajari Java dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
24
Pelajaran
93

Soalan Lazim

Adakah pelajaran “Mencipta Entiti dan Repositori” percuma?

Ya — teks penuh “Mencipta Entiti dan Repositori” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus Perkhidmatan Mikro dan API REST Spring Boot 4, tingkat taraf kepada CoddyKit PRO. Kursus Perkhidmatan Mikro dan API REST Spring Boot 4 merangkumi sejumlah 6 pelajaran.

Apakah yang akan saya pelajari dalam “Mencipta Entiti dan Repositori”?

Tentukan entiti JPA untuk mewakili model data anda dan gunakan repositori Spring Data untuk akses data. Anda berlatih Perkhidmatan Mikro dan API REST Spring Boot 4 menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Perkhidmatan Mikro dan API REST Spring Boot 4?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Perkhidmatan Mikro dan API REST Spring Boot 4 di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 3 daripada 6.

Berapa lamakah pelajaran “Mencipta Entiti dan Repositori” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Perkhidmatan Mikro dan API REST Spring Boot 4 ini?

Ya. Setiap pelajaran Perkhidmatan Mikro dan API REST Spring Boot 4 menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Mengintegrasikan Pangkalan Data H2 dan JPA
  2. Pengenalan kepada Spring Data JPA
  3. Mencipta Entiti dan Repositori
  4. Mentakrif Entiti dan Repositori
  5. Operasi CRUD dengan REST
  6. Melaksanakan Operasi CRUD
← Kembali ke Perkhidmatan Mikro dan API REST Spring Boot 4