[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.
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 “>
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.
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.
Sekarang mari kita periksa kode untuk resmi.
paket com.springbootjparepository.repository;
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.
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!
(TagStotranslate) Spring Boot JPA (T) Spring Boot JPA Contoh
[ad_2]
Sumber: simplilearn-com








