Total Tayangan Halaman

Senin, 04 April 2011

MVC, duet: Ubuntu, MySQL, Java, Netbeans, Tomcat, ZK, iReport (Bagian 2)

Membuat koneksi ke basis data:
1. Buka Netbeans
2. Pada jendela "Services", klik kanan pada "Databases", pilih "New Connection...", muncul jendela "New Database Connection".
3. Isi item yang ada sesuai dengan keinginan, misalnya: host=localhost, port=3306,database=pfm,username=root,password=root. Centang "Remember password".
4. Tekan tombol "OK".

Membuat model untuk basis data (hasil: dao-persistence-pfm.jar):
1. Buka Netbeans
2. Buat proyek baru dengan membuka menu "File" > "New Project..." ("ctrl + shift + n"), maka akan muncul jendela "New Project".
3. Pada "Categories", pilih "Java". Pada "Projects", pilih "Java Class Library". Klik tombol "Next >".
4. Beri nama proyek "pfm" dan tentukan lokasi penyimpanan. Klik tombol "Finish".
5. Pada jendela "Project" muncul proyek baru dengan nama pfm. Klik kanan, kemudian pilih "Properties", maka akan muncul jendela "Project Properties - dao-persistence-pfm".
6. Pada kategori "Sources", ubah "Sources/Binary Format" ke dalam JDK versi yang tertinggi (kali ini JDK6).
7. Pada kategori "Libraries", tambahkan beberapa library dengan cara menekan tombol "Add Library...". Pilih "EclipseLink", "Persistence" dan "Mysql JDBC Driver". Tekan tombol "OK".
8. Klik kanan pada "Sources Packages", pilih "New" > "Java Packages...". Muncul jendela "New Java Packages", beri nama dengan "dao", kemudian klik tombol "Finish".
9. Di bawah "Source Packages" muncul paket baru "dao" yang berwarna abu-abu, menandakan bahwa belum ada isi di dalam paket tersebut. Klik kanan pada paket "dao", pilih:
a. "New" > "Entity Classes from Database...",
b. (Apabila tidak ada) "New" > "Other...", muncul jendela "New File". Pada kategori, pilih "Persistence", kemudian pilih "Entity Classes from Database", klik tombol "Next >".
10. Muncul jendela "New Entity Classes from Database". Pada "Database Connection" pilih koneksi yang telah dibuat, misalnya: "jdbc://localhost:3306/pfm". Klik sembarang item pada "Available Tables", kemudian
a. klik tombol "Add" untuk item yang terpilih ("ctrl + a" untuk memilih semua)
b. klik tombol "Add All" untuk semua item
dalam kasus ini, tekan "Add All", kemudian klik tombol "Next >", kemudian klik tombol "Next >". Pada "Collection Type" pilih "java.util.List". Akhiri dengan menekan tombol "Finish".
11. Pada "Sources Packages" muncul paket "META-INF" secara otomatis, yang didalamnya terdapat berkas konfigurasi untuk persistence yang bernama "persistence.xml". Pada paket "dao" muncul 3 berkas baru hasil dari tabel, yaitu "Item.java", "Pengguna.java" dan "Transaksi.java". Pada paket "dao" muncul 1 berkas baru hasil dari view, yaitu "VRekap.java".
12. Coba buka "Item.java":
a. Pada berkas tersebut terdapat @Id yang harus ada yang menandakan bahwa yang dibawah tanda itu adalah kunci primer, dalam kasus ini adalah @Column(name = "iditem"). Itulah alasan mengapa pada setiap tabel harus ada kunci primer dan pada setiap view dipersiapkan sebuah kolom untuk kunci primer. @GeneratedValue(strategy = GenerationType.IDENTITY) untuk membuat nilai "auto increment".
b. Pada berkas tersebut juga terdapat 4 permintaan bernama (named query), 3 permintaan berdasarkan satu kolom dan 1 permintaan menampilkan semua. Permintaan bernama ini dapat dirubah sesuai dengan keinginan, bahkan dapat ditambah permintaan yang spesifik sesuai dengan keinginan. Lebih baik menambahkan permintaan dari pada mengganti atau menghapusnya, siapa tahu di kemudian hari dibutuhkan. Misalnya ingin semua ditampilkan urut berdasarkan namaitem, maka permintaan yang sebelumnya "SELECT i FROM Item i" diganti menjadi "SELECT i FROM Item i ORDER BY i.namaitem", begitu juga dengan permintaan yang lain.
c. Pada permintaan bernama terdapat pernyataan "FROM Item i WHERE i.alurkas = :alurkas". "i" pada "i.alurkas" didapat dari "Item i", sehingga apabila "Item a", maka "a.alurkas", terserah kita mau menggunakan "i" atau "a" atau apapun, yang penting konsisten. ":alurkas" berkaitan erat dengan "private short alurkas" dan tipe data kolom "alurkas" pada tabel "item" pada basis data yang notabene memiliki tipe data tinyint(4), sehingga nantinya parameter "alurkas" harus memiliki tipe data short. Simpan berkas.
13. Buka "VRekap.java" yang terdapat sebuah kesalahan. Kesalahannya adalah "There is no ID defined for this entity hierarchy", maksudnya adalah belum ditentukan ID-nya. Berdasarkan rancangan tabel, yang digunakan sebagai ID pada view "vrekap" adalah "idtransaksi", maka letakkan kursor pada sebelah kiri tulisan @Column(name = "idtransaksi"), ketikkan @Id kemudian tekan enter. Tekan "ctrl + shift + i" atau klik kanan dan pilih "Fix Imports". Simpan berkas.

catatan:
Untuk limit, like, in dan between dibahas pada bagian berikutnya menggunakan metode learning by doing.

Tidak ada komentar: