CRUD Sederhana Menggunakan Entity Classes-JPA Netbeans Part 1

Inih sebenernya lanjutan tulisan kemaren dan masuk ke kategori blog balita… Cuma gak lengkap c yah. Ini cuma make Entity Classes yang di-generate dari Netbeans biar kebayang bedanya pengaksesan database pake JDBC sama JPA. Asumsi JDBC udah ngerti yah… contohnya banyak! Salah satunya di sini.

Jadi… sebenernya ini emang tulisan buat make salah satu fitur netbeans ajah c… Kalo mau pake JAP tuh gimana, kalo mau koneksi database yang gak usah nentuin driver class de el el tuh gimana… dan hal2 semacam itu. Awalnya pengen ngasi judul “Simple CRUD Example with JAP using Netbeans”. Cuma kayaknya jadi bikin harapan yang ketinggian, jadilah gw bikin kayak di atas ajah.

Oke! Langkah pertama, siapkan sebuah database. Database ama tabel terserah (kalo gw nama database “demoArby”). Kalo query-nya gini:

CREATE TABLE IF NOT EXISTS `Member` (
  `id_reg` varchar(10) NOT NULL,
  `Nama` varchar(30) DEFAULT NULL,
  `Umur` int(11) DEFAULT NULL,
  PRIMARY KEY (`id_reg`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

INSERT INTO `Member` (`id_reg`, `Nama`, `Umur`) VALUES
('M_001', 'Lee Hyuk Jae', 27),
('M_002', 'Lee Donghae', 26);

Tabel di atas, bisa dibikin pake bantuan Netbeans. Coba liat bagian “Service”, ada “MySQL Server” kan yak… Di sana, klik kanan. Pilih “Start”.

Selection_001

(Kalo gw, minta password root. Kalo yang make windows, gw gak tau). Langkah ini perlu dilakukan, karena ini buat ngidupin database server-nya (kalo make xampp, kayak nge-start MySQL). Terus, karena gw udah idupin db server, yang perlu dilakukan adalah connect ke db yang dimaksud. Gw udah punya “DemoArby” (node ke-5 dari node database kalo liat gambar di atas). Klik kanan di sana, pilih “Connect”. Ntar simbolnya yang awalnya ada fragment-nya, jadi gak ada pecahannya lagi. Dan bisa di-explore tabel-nya pake node hirarkis.

Selection_002

Untuk meng-explore isi table, bisa di-klik di tiap table, terus pilih “View Data”. Ntar muncul deh data kayak gini:

Isi Tabel Member

Sampe di sini, database udah jadi… Langkah berikutnya bikin project baru (atau kalo gak mau, pake project lama juga gak masalah). Pilih “File –> New Project” atau tekan Ctrl+Shift+N jugak boleh. Pilih “Java Application”. Tekan “Next”, namai sesuai project yang diinginkan, tekan “Finish”.

Klik kanan di bagian package (package apa ajah boleh), pilih “New –> Entity Classes from Database”. Kalo gak nemu, pilih “New –> Other”. Muncul window wizard, di window itu, di bagian categories, pilih “Persistence”, karena emang spec ini yang mau kita pake. Di sebelah kanan, pilih “Entity Classes from Database”.

Entity Classes from Database

Terus muncul window lagi untuk nentuin tabel mana yang mau dibikinin entity classes-nya. Di Database Connection, yang bagian atas, pilih database yang kita mau. Ntar pilih tabel mana yang mau digunain. Tabel tersedia di sebelah kiri, tabel yang mau di-generate ada di sebelah kanan.

Pilih Tabel

Klik “Next”, di sini bakal diliatin class mana bakal dipetakan ama tabel yang mana. Namanya boleh kamu Ubah. Kalo di bagian nama class, di gw yang keliatan “Member1”, tapi karena gw gak suka angka 1-nya, gw ubah namanya jadi “MemberC”. Mau jadi “Member” biar samaan sama tabel di database jugak gak masalah c yah. Tapi gw lum coba jugak c. Intinya, gw ubah namanya jadi MemberC. Klik “Next”, gw gak bakal cerita banyak di sini… jadi langsung terus klik “Finish”.

Pastiin project-nya jadi gini:

Project Hirarki

Ada package “META-INF” dan kalo di-break down, ada “persistence.xml”. Ini isinya XML yang menghubungkan aplikasi sama database. Coba klik 2x deh, nanti bakal keliatan gini (klik gambar biar lebih jelas):

Persistence_XML

Sebenernya, file di atas, tipenya XML (hyaayaalah, ekstensinya ajah xml). Dan ini, bisa dibuka di browser. Kalo kamu iseng, bakal dapatin hasil kayak gini:

<persistence version="2.1" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
	<persistence-unit name="JavaApplication3PU" transaction-type="RESOURCE_LOCAL">
		<provider>org.eclipse.persistence.jpa.PersistenceProviderlt;/provider>
		<class>javaapplication3.MemberClt;/class>
		<properties>lt;property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/demoArby?zeroDateTimeBehavior=convertToNull"/>
		<property name="javax.persistence.jdbc.password" value=""/>
		<property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/>
		<property name="javax.persistence.jdbc.user" value="root"/></properties>
	</persistence-unit>
</persistence>

Di sana, keliatan database yang digunakan sama beberapa konfigurasi lain yang diperlukan. Ada hal yang perlu kamu hapalin di sini, yaitu bagian “Persistence Unit Name”. Ini nanti bakal digunain buat di programnya. Jadi ini sebenernya mirip sama konfigurasi JDBC buat milih database, nama_user_db sama password_db.

Lanjooott! Sekarang, kita perhatiin isi “MemberC.java”. Ini sebenernya POJO dari java. POJO itu merupakan singkatan dari “Plain Old Java Object”. Sebuah class yang isinya atribut sama set-get atribut itu. Plus class itu meng-implements interface Serializable. Dan kalo kamu perhatiin baik2, di sana ada semacam query. Query itu bisa dipanggil di program nantinya, dan bisa ditambahin jugak. O iya, keterangan lebih lanjut POJO, bisa dilihat di sini.

Tahap mengenal persistence selesai. Sekarang masuk ke programnya…. Fyuhh, panjang yah. Jadi… gw tulis di tulisan berikutnya ajah. Yuk ah, cek tulisan berikutnya. šŸ˜€

Advertisements

One thought on “CRUD Sederhana Menggunakan Entity Classes-JPA Netbeans Part 1

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s