Skip navigation

Tag Archives: Java EE


*Maaf baru posting setelah sekian lama*

Sekarang saya akan mencoba membuat kelas Entity Persistence pada project yang pernah diposting sebelum ini. Pada proyek itu telah dibuat Persistence Unitnya.
Read More »


Persistence Unit adalah sebuah unit data yang menjelaskan konfigurasi entity yang digunakan. Salah satu konfigurasinya berisi tentang storage tempat entity disimpan. Cara menambahkan PersistenceUnit pada sebuah Java project di Netbeans adalah sebagai berikut

Read More »


Didedikasikan buat rekan-rekan IF ITB 2006.

Ada sedikit permintaaan dari beberapa junior supaya saya sedikit mengupas tentang aplikasi medis sederhana di Java EE. Aplikasi ini cuman aplikasi pengaturan dokter, pasien, dan pemeriksaan. Aplikasi ini akan dibangun dengan menggunakan basis data MySQL dan IDE Netbeans.classdiagram

Read More »


Persistence adalah sebuah fitur yang mampu melakukan mapping object ke relasional. Dengan adanya fitur ini maka kita bisa dengan mudah melakukan pengembangan objek dengan menggunakan basisdata tanpa harus mengkodekan koneksi manual ke database. Kemaren gw baru nyobain fitur persistence itu untuk Java EE dengan menggunakan Netbeans dan MySQL.

Ceritanya gw bikin sebuah table namanya products

CREATE TABLE `product` (
`ID` VARCHAR( 8 ) NOT NULL ,
`Name` TEXT NOT NULL ,
`Price` INT NOT NULL ,
`Quantity` INT NOT NULL ,
PRIMARY KEY ( `ID` )
) ENGINE = MYISAM ;

Untuk melakukan manajemennya bisa dilihat di sini.
Nantinya akan keluar
mysql1

Setelah itu kita bikin aplikasi berbasis Java EE, entah itu Enterprise app atau sekadar Web app.
Nah kita langsung coba bikin Class dari database.

mysql2

Setelah itu tinggal ikutin langkah-langkah aja.

mysql3

Kita pilih data source yang diperlukan…. Terus abis itu kita pilih table-table yang dibutuhkan juga… Dan nanti masing-masing table akan menjadi sebuah class.

mysql4

Nah nantinya kita akan punya sebuah class Product. (Nama product terpaksa direname sendiri karena pada table biasanya menggunakan nama plural sedangkan nama class biasanya singular)

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package model;

import java.io.Serializable;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Lob;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;

/**
 *
 * @author Petra Barus
 */
@Entity
@Table(name = "products")
@NamedQueries({@NamedQuery(name = "Product.findAll", query = "SELECT p FROM Product p"), @NamedQuery(name = "Product.findById", query = "SELECT p FROM Product p WHERE p.id = :id"), @NamedQuery(name = "Product.findByPrice", query = "SELECT p FROM Product p WHERE p.price = :price"), @NamedQuery(name = "Product.findByQuantity", query = "SELECT p FROM Product p WHERE p.quantity = :quantity")})
public class Product implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @Basic(optional = false)
    @Column(name = "ID")
    private String id;
    @Basic(optional = false)
    @Lob
    @Column(name = "Name")
    private String name;
    @Basic(optional = false)
    @Column(name = "Price")
    private int price;
    @Basic(optional = false)
    @Column(name = "Quantity")
    private int quantity;

    public Product() {
    }

    public Product(String id) {
        this.id = id;
    }

    public Product(String id, String name, int price, int quantity) {
        this.id = id;
        this.name = name;
        this.price = price;
        this.quantity = quantity;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getPrice() {
        return price;
    }

    public void setPrice(int price) {
        this.price = price;
    }

    public int getQuantity() {
        return quantity;
    }

    public void setQuantity(int quantity) {
        this.quantity = quantity;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (id != null ? id.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof Product)) {
            return false;
        }
        Product other = (Product) object;
        if ((this.id == null && other.id != null) || (this.id != null && !this.id.equals(other.id))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "model.Product[id=" + id + "]";
    }

}

Pada post yang lalu, server yang dijalankan hanya bisa memaintain sebuah koneksi kemudian keluar. Cara untuk mengatasinya adalah dengan menggunakan infinite loop.
Read More »


Kalau dipost yang ini dan ini, gw udah nyoba client menggunakan Telnet dan Command Line Application, sekarang gw bakal nyoba bikin client dengan GUI.

a1

Jadi ada 3 buah obyek form: textbox, button, sama textarea. Nah pada textbox, gw pengen mengetikkan apa yang ingin gw kirim ke server. Kemudian gw klik button “Kirim”. Di textarea akan keliatan pesan-pesan dari server.

Read More »


Pada pemrograman dalam PHP, pengaturan login sebuah user biasanya dilakukan pada sessioning. Dalam pemrograman web berbasis Java, server pun menyediakan mekanisme session untuk menyimpan data user pada tiap session. Berikut adalah contoh penanganan login pada servlet.

Yang perlu diperhatikan adalah di mana letak penanganan databasenya dan pengecekan login. Pada pemrograman PHP dengan paradigma prosedural biasanya programmer meletakkan sebuah fungsi untuk login yang menyatukan user dengan session karena session adalah sebuah global variable. Pada Java, session didapatkan dari invokasi dari instans sebuah servlet karena setiap request ditangani oleh sebuah servlet instance. Selain itu biasanya beberapa melakukan koneksi database pada method di servlet dan melakukan pengecekan langsung dengan query ke database

"SELECT (COUNT*) FROM users WHERE username = 'username' AND password = 'password' LIMIT 1";

Read More »


Singleton adalah sebuah pattern yang membatasi penggunakan class menjadi sebuah instance saja pada sebuah aplikasi. Biasanya ada sebuah class pada aplikasi yang pada desain hanya dibutuhkan sekali. Pembatasan ini sebenarnya bisa dibuat sebagai sebuah global static object. Tapi kadang penggunaan singleton ini lebih menyenangkan karena global state sering membingungkan apalagi ketika kita memasukkan sebuah komponen yang menggunakan sebuah kelas yang dibatasi oleh sebuah obyek ke dalam aplikasi lain (namespacing).

Read More »


Kalau dulu pernah gw tulis mengenai cara menggunakan MySQL C API pada Netbeans C/C++, maka sekarang pengen nulis tentang melakukan koneksi MySQL pada Servlet. Pada dasarnya menggunakan koneksi MySQL pada pemrograman web berbasis Java tidak berbeda dengan melakukan koneksi MySQL pada pemrograman aplikasi desktop biasa. Untuk melakukan koneksi dari Java, MySQL menyediakan sebuah library bernama Connector/J.

Read More »

%d blogger menyukai ini: