Spring boot merupakan salah satu web framework Java yang cukup populer saat ini. Mengakselarasi konfigurasi dari Spring yang sudah ada. Dilansir dari artikel synk Spring boot menjadi terpopuler dan menyentuh share di 40% untuk penggunaan web framework di Java. Pada artikel terkait juga Hibernate merupakan Framework ORM (Object Relational Mapper) yang paling banyak digunakan.
Salah satu task populer dari sebuah adalah kemampuan CRUD (Create - Read - Update - Delete) ke dalam database. Oleh karena itu pada artikel kali ini saya akan membagikan bagaimana melakukan CRUD di Spring boot Hibernate Data JPA dengan menggunakan database H2. Untuk memudahkan integrasi kita akan menggunakan Spring Data JPA ditambah dengan Spring Web. Dari artikel ini diharapkan bisa belajar dan berdiskusi bersama bagaimana Hibernate, Spring Data JPA, dan Spring boot digunakan untuk melakukan CRUD pada database di IDE Spring Tool Suite (STS) atau Eclipse.
Tools dan Spesifikasi :
- Spring boot framework
- V. 3.2.5
- IDE Eclipse / STS (Spring Tool Suite) / Intellij idea
- penulis menggunakan STS yang merupakan turunan dari Eclipse tapi fokus ke penggunaan Spring framework.
- Java 17
- penulis menyarankan penggunaan Java 17 atas, mengikuti default di spring initializr (per tanggal 27 April 2024)
- Maven Project
- untuk software project management menggunakan Maven.
Tutorial
Pembuatan Maven Project
Subbab ini kita berfokus untuk membuat project maven sampai project berhasil di running tanpa masuk ke bahasan database dll.
- Buat project spring boot menggunakan spring initializr di https://start.spring.io/. disini menggunakan dependencies :
- H2 Database,
- Spring Data JPA,
- Spring Web,
- Spring Boot DevTools.(cek gambar)
- Lalu pilih generate
- File akan terdownload sesuai dengan name di isian project metadata (learn_hibernate). Extract folder zip hasil generate.
- Import maven project yang sudah didownload tadi ke dalam STS / Eclipse workspace dengan cara:
- Pilih file terus pilih import, terus pilih maven > existing maven project,
- Pada root directory browse ke path folder extract tadi sampai folder .mvn dan src terlihat lalu pilih select folder,
- Checklist file pom.xml lalu pilih finish,
- Tunggu sampe proses download package dan preparasi selesai. proses ini membutuhkan koneksi internet,
- Jika step proses download package dan prerparasi sudah selesai, pada project explorer buka src/main/java >
com.sufyan97.learn_hibernate > LearnHibernateApplication.java. lalu
klik kanan pilih run as > java application. Atau double klik file
.java tadi kemudian di layar editor tekan alt + shif +x lalu j.
- Pilih file terus pilih import, terus pilih maven > existing maven project,
H2 Database dan Konfigurasi di Application.properties
Sekilas tentang H2 database, H2 adalah relational database yang ditulis menggunakan bahasa pemrograman Java dan bisa bersifat embeded. Simpelnya kita tidak perlu melakukan proses install secara terpisah untuk menjalankan database ini. Pada spring boot package H2 Database yang berada pada pom.xml bagian <artifactId>h2</artifactId> dependency sudah diatur sedemikian rupa sehingga bisa langsung digunakan.
Setelah prosess konfigurasi maven di proses sebelumnya selesai. Jika kita perhatikan pada log console maka akan muncul HikariPool-1 - Added connection conn0: url=jdbc:h2:mem:d2a06419-ed54-41ca-90ef-edfbd4961921 user=SA. Tidak selalu d2a06419 ... edfbd4961921 bisa juga bernilai lain. Jika kita buka http://localhost:8080/h2-console/login.jsp. Lalu pada bagian JDBC URL kita isikan jdbc:h2:mem:d2a06419-ed54-41ca-90ef-edfbd4961921, setelah itu usernamenya diisikan SA dan kita test connection maka akan success. (perhatikan gambar di bawah)
spring.datasource.url=jdbc:h2:mem:testdb
spring.datasource.driverClassName=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=password
spring.jpa.database-platform=org.hibernate.dialect.H2Dialect
Spring data JPA & Hibernate
- Membuat model Barang.java
hal yang perlu pertama dibuat adalah Model yang merepresentasikan tabel barang. File model bernama Barang.java. Anda bisa melihat pada code berikut: - Membuat repository
Lalu buat BarangRepository yang akan menjadi repository untuk tabel dan model Barang. - Membuat service
Lalu buat BarangService yang akan menghandle service untuk keperluan object Barang. Repository akan diakses lewat service ini. - Lakukan test
Setelah itu buka LearnHibernateApplication.java. Pada file ini kita akan memanggil BarangService. Codenya adalah seperti berikut: - insert
perhatikan pada baris mulai dari comment //INSERT BARANG BARU sampai //INSERT BARANG LAGI. Pada baris tersebut kita membuat object Barang bernama sampoBaru. Kemudian disimpan ke database. berikut hasilnya: - update
lalu pada baris code yang dimulai dari //INSERT BARANG LAGI sampai barangService.update(tepungTerigu);. Object tepungTerigu yang sudah dibuat kemudian disimpan ke database, lalu megubah hargaSatuan dari 35000 ke 36000. Kemudian, check database: - read
Pada baris selanjutnya kita akan membaca sampoBaru. Simpan hasilnya ke object readSampo. Lalu dicetak melalui System.out.println. Hasilnya: - delete
Kemudian lakukan delete baris readSampo tadi melalui method destroy pada service barangService. Sehingga hasil akhir pada tabel di database adalah sebagai berikut: - Tips untuk menjalankan ini, anda bisa comment atau delete baris code yang tidak perlu pada LearnHibernateApplication.java
Anda bisa mengakses source codenya di github ini.
Referensi
- https://www.baeldung.com/spring-boot-h2-database diakses pada tanggal 26 April 2024
- https://www.h2database.com/html/main.html diakses pada tanggal 28 April 2024
Posting Komentar untuk "Spring boot Hibernate Basic 1 CRUD Menggunakan database H2"
Berilah komentar, saran, dan kritik dengan bijak