Apa itu repositori JPA di Spring Boot? (Dengan contoh)

- Penulis

Kamis, 11 September 2025 - 20:08 WIB

facebook twitter whatsapp telegram line copy

URL berhasil dicopy

facebook icon twitter icon whatsapp icon telegram icon line icon copy

URL berhasil dicopy

Apa itu repositori JPA di Spring Boot? (Dengan contoh)

[ad_1]

Repositori JPA terutama digunakan untuk mengelola information dalam aplikasi Spring Boot.

Kita semua tahu bahwa musim semi dianggap hal itu sebagai kerangka kerja Java yang sangat terkenal. Kami terutama memakai boot musim semi ini untuk membuat aplikasi berbasis musim semi dan berbasis produksi dengan jumlah upaya yang sangat sedikit.

ADVERTISEMENT

SCROLL TO RESUME CONTENT

JParepository

JParepository adalah ekstensi spesifik JPA untuk repositori. Ini mempunyai API crudrepository dan pagingandsortingRepository. Jadi, pada dasarnya, Repositori JPA berisi API untuk operasi CRUD dasar, API untuk pagination, dan API untuk penyortiran.

Contoh JParepositori Spring Boot

Untuk mengelola entitas kantor dengan JParePository, aplikasi musim semi berikut digunakan. Program berikut ini terutama merupakan program konsol, dan information disimpan dalam database H2.

Mari kita periksa struktur proyek kami:

pom.xml

SRC

├─── Primary

│ ├─── Java

│ │ └──ans Misscom

│ │ └───springbootjparepository

│ │ │ software.java

│ │ │ myrunner.java

│ │ ├───Version

│ │ │ Office.java

│ │ └───Repositori

│ │ OfficeRepository.java

│ └─── sumber daya

│ Utility.Homes

└─ Sebetes take a look at

└─ Sebetasan Java

Kode berikut adalah untuk document construct Maven. Untuk memakai information pegas JPA dengan hibernate, data-boot-starter-data adalah starter.

Ingin pekerjaan pengembangan perangkat lunak teratas? Mulailah di sini!

Program Pengembang Tumpukan Penuh AIJelajahi program

Ingin pekerjaan pengembangan perangkat lunak teratas? Mulailah di sini!

Sekarang mari kita melalui aliran kode pom.xml:

xmlns: xsi = “http://www.w3.org/2001/xmlschema-instance”

xsi: schemalocation = “http://maven.apache.org/pom/4.0.0

http://maven.apache.org/xsd/maven-4.0.0.xsd “>

4.0.0

com.springbootjparepository

SpringbootJParepository

1.0-snapshot

stoples

UTF-8

11

11

org.springframework.boot

Spring-Boot-Starter-Father or mother

2.2.2.liberate

org.springframework.boot

Spring-boot-starter-data-jpa

com.h2database

H2

runtime

org.springframework.boot

Spring-Boot-Maven-Plugin

Document Utility.Homes dianggap hal itu sebagai document konfigurasi boot pegas utama. Spring Banner dimatikan dengan properti Spring.Primary.BANNER-Mode.

Untuk konsol, pola logging didefinisikan dengan logging.trend.console.

Menjadi insinyur uji otomatisasi dalam 11 bulan!

Program Grasp Pengujian OtomasiJelajahi program

Menjadi insinyur uji otomatisasi dalam 11 bulan!
Baca Juga:  Bisakah Mengisi Baterai HP Mencapai Penuh? Fakta dan Penjelasannya

Di bawah ini adalah kode untuk sumber daya/aplikasi. Properti:

Spring.Primary.BANNER-Mode = OFF

logging.trend.console =%clr (%d {yy-mm-dd e hh: mm: ss.sss}) {blue}%clr (%-7p)%clr (%logger {0}) {biru}%clr (%m) {faint}%n

Sekarang mari kita periksa entitas kantor. Ini terdiri dari atribut seperti Office_id, Office_name dan No_of_employees.

Berikut ini kode untuk com/springbootjparepository/version/Office.java.

paket com.springbootjparepository.version;

impor java.util.items;

impor javax.patience.entity;

impor javax.patience.generatedValue;

impor javax.patience.generationType;

impor javax.patience.{id};

impor javax.patience.desk;

@Kesatuan

@Desk (call = “kantor”)

kantor kelas publik {

@Pengenal

@GeneratedValue (Technique = GenerationType.auto)

Personal Lengthy Office_id;

Personal String Office_name;

non-public int no_of_employees;

kantor publik () {

}

Kantor Publik (String Office_name, int no_of_employees) {

this.office_name = Office_name;

this.no_of_employees = no_of_employees;

}

public lengthy getoffice_id () {

kembalikan Office_id;

}

public void setid (lengthy Office_id) {

this.office_id = Office_id;

}

Public String getoffice_name () {

kembalikan Office_name;

}

public void setoffice_name (String Office_Name) {

this.office_name = Office_name;

}

publik int getno_of_employees () {

go back no_of_employees;

}

public void setno_of_employees (int no_of_employees) {

this.no_of_employees = no_of_employees;

}

@Mengesampingkan

hashcode int publik () {

int hash = 7;

hash = 79 * hash + items.hashcode (this.office_id);

hash = 79 * hash + items.hashcode (this.office_name);

hash = 79 * hash + this.no_of_employees;

Hash Kembalikan;

}

@Mengesampingkan

Public Boolean Equals (Object Obj) {

if (this == obj) {

Kembali Benar;

}

if (obj == null) {

mengembalikan false;

}

if (getClass ()! = obj.getClass ()) {

mengembalikan false;

}

Kantor terakhir lainnya = (kantor) obj;

if (this.no_of_employees! = Different.no_of_employees) {

mengembalikan false;

}

if (! Gadgets.equals (this.office_name, Different.office_name)) {

mengembalikan false;

}

go back items.equals (this.office_id, Different.office_id);

}

@Mengesampingkan

Public String ToString () {

var builder = new stringBuilder ();

builder.append (“Office {{id} =”). Append (Office_id) .Append (“, Office_Name =”)

.Append (Office_name) .Append (“, No_of_employees =”)

.Perpend (no_of_employees) .Append (“}”);

go back builder.tostring ();

}

}

Dari JParepository, petugas yang diperpanjang; Jenis entitas serta jenis kunci primer disediakan oleh repositori ini.

Lepaskan pekerjaan pengujian otomatisasi bergaji tinggi!

Program Grasp Pengujian OtomasiJelajahi program

Lepaskan pekerjaan pengujian otomatisasi bergaji tinggi!

Sekarang mari kita periksa kode untuk resmi.

paket com.springbootjparepository.repository;

Baca Juga:  Rosé BLACKPINK Bikin Fanatik dengan Lagu Tanpa dipungut biaya “Toxic Till The End” – Kpoppie – Loader Data

impor com.springbootjparepository.version.office;

impor org.springframework.information.jpa.repository.jparepository;

impor org.springframework.stereotype.repository;

@Gudang

Officository Antarmuka Publik Memperluas JParepository {

}

Berbagai metode jParepository digunakan di myrunner.java

Mari kita periksa kode di com/springbootjparepository/myrunner.java

paket com.springbootjparepository;

impor com.springbootjparepository.version.office;

impor com.springbootjparepository.repository.officerepository;

impor org.slf4j.logger;

impor org.slf4j.loggerFactory;

impor org.springframework.beans.manufacturing facility.annotation.Autowired;

impor org.springframework.boot.Commandlinerner;

impor org.springframework.information.domain.kind;

impor org.springframework.stereotype.element;

@Komponen

MyRunner kelas publik mengimplementasikan CommandLinerner {

Personal Static Ultimate Logger Logger = LoggerFactory.getLogger (myrunner.magnificence);

@Autowired

Officerepository Personal Officerepository;

@Mengesampingkan

public void run (string … args) melempar pengecualian {

OfficeRepository.Save (kantor baru (“A Compnay”, 432000));

OfficerEpository.Save (kantor baru (“B Corporate”, 1759000));

OfficerEpository.Save (kantor baru (“C Perusahaan”, 1280000));

OfficerEpository.Save (kantor baru (“D Perusahaan”, 1748000));

OfficerEpository.Save (kantor baru (“Perusahaan E”, 3971000));

OfficerEpository.Save (kantor baru (“perusahaan F”, 8550000));

OfficerEpository.Save (kantor baru (“perusahaan G”, 464000));

logger.data (“# of Office: {}”, OfficerEpository.rely ());

logger.data (“Semua kantor tidak disortir:”);

var Workplaces = OfficeRepository.findall ();

logger.data (“{}”, kantor);

logger.data (“————————“);

logger.data (“Semua kantor diurutkan oleh name_of_office dalam urutan menurun”);

var sortedoffices = OfficerEpository.findall (kind.by means of (kind.course.desc, “name_of_office”));

logger.data (“{}”, SortedOffices);

logger.data (“————————“);

Logger.data (“Menghapus Semua Kantor”);

OfficeRepository.DeleteallinBatch ();

logger.data (“# of Office: {}”, OfficerEpository.rely ());

}

}

Kami kemudian menyuntikkan petugas ke dalam bidang petugas.

@Autowired

Officerepository Personal Officerepository;

Dengan save (), kantor baru dimasukkan:

OfficerEpository.Save (kantor baru (“sebuah perusahaan”, 432000));

Dengan Depend (), jumlah kota dihitung:

logger.data (“# of Office: {}”, OfficerEpository.rely ());

Untuk dapatkan semua kantor, metode FindAll () umumnya digunakan:

logger.data (“Semua kantor tidak disortir:”);

var Workplaces = OfficeRepository.findall ();

logger.data (“{}”, kantor);

Kepada FindAll (), objek Sortir dilewatkan dengan begitu kita akan mampu dapatkan semua nama kota dalam urutan menurun:

logger.data (“Semua kantor diurutkan oleh name_of_office dalam urutan menurun”);

var sortedoffices = cityrepository.findall (kind.by means of (kind.course.desc, “name_of_office”));

logger.data (“{}”, SortedOffices);

Dalam batch, semua kota bisa dihapus oleh kami memakai deleteallinBatch ().

Logger.data (“Menghapus Semua Kantor”);

OfficeRepository.DeleteallinBatch ();

Aplikasi Spring Boot diatur oleh aplikasi Spring Boot.

Baca Juga:  Vivo Y58 5G debut dengan baterai 6.000 mAh serta pengisian daya 44W

Mari kita melihat kode untuk com/springbootjparepository/software.java

paket com.springbootjparepository;

impor org.springframework.boot.springapplication;

impor org.springframework.boot.autoconfigure.springbootApplication;

@SpringbootApplication

Aplikasi kelas publik {

public static void primary (string () args) {

Springapplication.run (software.magnificence, args);

}

}

Keluaran

22-02-15 Sel 12: 47: 14.593 Information MyRunner # OF OFFICES: 7

22-02-15 Sel 12: 47: 14.593 Information MyRunner Semua kantor tidak disortir:

22-02-15 Sel 12: 47: 14.652 Information MyRunner (Office {ID_OF_Office = 1, name_of_office = A Corporate, populasi = 432000}, Office {id_of_office = 2, name_of_office = B, populasi = 1759000}, Office {ID_OF_OF_OF_OFFICE = B, populasi = 1759000}, Office {{id} ID_OF_OF_OFFICE = B, NAME, NAMECE = 1759000}, Office {ID_OF_OF_OFFICE = B, NAMECE = 1759000}, Office {ID_OF_OF_OFFICE = NAMECE = 1759000 {ID_OF_OF_OFFICE = NAMECE = 1759000 {ID_OF_OF_OF_OFCE = Office {id_of_office = 4, name_of_office = d perusahaan, populasi = 1748000}, kota {id_of_office = 5, name_of_office = e Perusahaan, populasi = 3971000}, town {id_of_office = 6, name_of_office = f perusahaan, populasi = 8550000}, name_Off {name_of_office = f perusahaan, populasi = 8550000}, name_Off {name_office = f Corporate, populasi = 8550000}, name_OFF_OFFECE = F Corporate, populasi = 8550000} {name_OFF_OFF_OFF_OFFICE = F COMPER = 850000 {850000 {650000 Populasi = 464000})

22-02-15 Sel 12: 47: 14.652 Information MyRunner ————————-

22-02-15 Sel 12: 47: 14.652 Information MyRunner Semua kantor diurutkan oleh name_of_office dalam urutan menurun

22-02-15 Tue 12:47:14.667 INFO MyRunner (Town{id_of_office=7, name_of_office=G COMPANY, inhabitants=1748000}, Town{id_of_office=6, name_of_office=F COMPANY, inhabitants=1280000}, Town{id_of_office=5, name_of_office=E COMPANY, inhabitants=8550000}, Town{id_of_office=4, name_of_office=D COMPANY, inhabitants=3971000}, Town{id_of_office=3, name_of_office=C COMPANY, inhabitants=464000}, Town{id_of_office=2, name_of_office=B COMPANY, inhabitants=1759000}, Town{id_of_office=1, name_of_office=A COMPANY, Populasi = 432000})

22-02-15 Sel 12: 47: 14.668 Information MyRunner ————————-

22-02-15 Sel 12: 47: 14.668 Information MyRunner Menghapus Semua Kantor

22-02-15 Sel 12: 47: 14.681 Information MyRunner # OF OFFICES: 0

Grasp front-end dan teknologi back-end dan aspek canggih dalam program pasca pascasarjana kami dalam pengembangan internet tumpukan penuh. Lepaskan karier Anda sebagai pengembang tumpukan penuh mahir. Hubungi kami sekarang!

Ingin pekerjaan pengembangan perangkat lunak teratas? Mulailah di sini!

Program Pengembang Tumpukan Penuh AIJelajahi program

Ingin pekerjaan pengembangan perangkat lunak teratas? Mulailah di sini!

(TagStotranslate) Spring Boot JPA (T) Spring Boot JPA Contoh

[ad_2]

Sumber: simplilearn-com



Berita Terkait

10 Lodge Terbaik Dekat Danau Toba untuk Liburan Santai 2025
Orang Tunggu Sendiri Patuh 8 Aturan Kuat Ini, Menurut Psikologi
Daftar 8 Tim Lolos Babak 32 Besar Piala Dunia U17 2025, Apakah Timnas Indonesia Dapat Ikut?
Mengapa Fairing Motor Sport 150 Kini Menghilang dari Showroom?
Kucing Dapat Alami Demensia! 8 Tanda yang Perlu Diwaspadai
Ban Lebih Lebar: Manfaat dan Risikonya
Jawa Timur Juara Nusantaraya di ICCF 2025, Buktikan Kepemimpinan Ekonomi Kreatif Nasional
Andai Tidak Dapat Lakukan 8 Hal Ini, Anda Mungkin saja Tua Lebih Cepat, Tutur Psikologi

Berita Terkait

Rabu, 10 Desember 2025 - 23:59 WIB

10 Lodge Terbaik Dekat Danau Toba untuk Liburan Santai 2025

Rabu, 10 Desember 2025 - 23:14 WIB

Orang Tunggu Sendiri Patuh 8 Aturan Kuat Ini, Menurut Psikologi

Rabu, 10 Desember 2025 - 21:44 WIB

Daftar 8 Tim Lolos Babak 32 Besar Piala Dunia U17 2025, Apakah Timnas Indonesia Dapat Ikut?

Rabu, 10 Desember 2025 - 20:59 WIB

Mengapa Fairing Motor Sport 150 Kini Menghilang dari Showroom?

Rabu, 10 Desember 2025 - 19:29 WIB

Kucing Dapat Alami Demensia! 8 Tanda yang Perlu Diwaspadai

Berita Terbaru