kapan perlu pake JDBC dan kapan pake ORM (hibernate, jpa)?


#TanyaJava

kapan perlu pake JDBC dan kapan pake ORM (hibernate, jpa)?

jawabannya sih relatif, suka2 yang coding. tapi pasti ada alasan dibalik coder pilih pake jdbc atau orm seperti hibernate atau jpa.

kapan perlu pake jdbc? saat memang kita sangat ketergantungan sama fasilitas database, contohnya, store procedure, trigger, dan fungsi2 bawaan databasenya. hal ini akan sangat sulit dilakukan di orm. pake jdbc juga dengan ketentuan, sampai kapanpun gak akan pernah ganti database, karena kalo sampai ganti, berarti harus rewrite ulang seluruh perintah sql nya.

kapan perlu pake orm? saat memang kita gak terlalu butuh fitur2 bawaan database, orm saat ini hanya bisa perintah sql standar (insert, update, delete, select, create table), untuk membuat trigger, function dan store procedure, belum bisa, walaupun ada beberapa orm yang mampu, hanya memanggil store procedure saja. salah satu kelebihan orm, kita mudah ganti2 database, karena memang seluruh perintah sql nya di lakukan oleh orm.

tapi orm itu lambat? selambat2nya bukan berarti operasi jdbc itu 1 detik, orm itu 1 menit  perbedaan kecepatan paling hanya beberapa milisecond, dan itu seperti kedipan mata, jadi gak berpengaruh juga  apalagi semakin kesini hardware semakin canggih, jadi kecepatan milisecond benar2 gak kan kerasa.

sekian, follow juga twitter kita di @PakarJava

Iklan

Jedis, Menyimpan dan Mengambil Data dari Redis


Tutorial sebelumnya saya telah membahas tentang cara melakukan koneksi ke Redis Server menggunakan library Jedis. Sekarang saya akan bahas cara menyimpan data ke dalam Redis dan mengambilnya kembali dari Redis. Baca lebih lanjut

Download Buku MySQL dan Java Database Connectivity


Daftar Isi

  • MySQL
  • Membuat Tabel
  • Menghapus Tabel
  • Menghapus Database
  • Memasukkan Data
  • Menampilkan Data
  • Penyaringan Data
  • Menggubah Data
  • Membuat Database
  • Menghapus Data
  • Java Database Connectivity
  • MySQL Connector Java
  • Netbeans
  • Eclipse
  • Driver
  • Connection
  • Statement
  • Memasukkan Data
  • Mengubah Data
  • Menghapus Data
  • ResultSet
  • PrepareStatement
  • Memasukkan Data
  • Mengubah Data
  • Menghapus Data
  • Mendapatkan Data
  • Advanced ResultSet
  • Menambah Data
  • Mengubah Data
  • Menghapus Data
  • Pilih Yang Mana?
  • Tentang Penulis

Download

Silahkan klik tautan dibawah ini untuk mengunduh ebook MySQL dan Java Database Connectivity secara gratis :D

http://stripbandunk.googlecode.com/files/MySQL-Dan-Java-Database-Connectivity.pdf

Selamat membaca :D

PRE-ORDER Video Tutorial Java Database dan Java GUI


Temen-temen yang tertarik untuk belajar tentang Java Database dan Java GUI, video tutorial saya yang berjudul :

  • Pemrograman Database Menggunakan Java dan MySQL
  • Pemrograman GUI Menggunakan Java dan NetBeans

Sudah bisa di pre-order lewat website StripBandunk. Video tutorial tersebut akan siap di kirim pada tanggal 20 Maret 2012, jadi jangan sampai kelewat 😀 Rugi tar 😀 heheheh

Video Tutorial Pemrograman Database Menggunakan Java dan Hibernate Framework 4


Kode : VT007
Judul : Pemrograman Database Menggunakan Java dan Hibernate Framework 4
Pencipta : Eko Kurniawan Khannedy, S.Kom.
Kategori : Pemrograman Java, Sistem Basis Data
Tingkat Keterampilan : Mahir, Ahli
Harga : Rp.-
Rilis : Februari 2012 

Object Relational Mapping merupakan teknik pemrograman yang memetakan sebuah objek dengan database. ORM merupakan ‘jembatan’ penghubung antara objek yang dibuat dalam program dengan database. ORM membuat Anda tidak perlu lagi menggunakan querySQL untuk memanipulasi data di database. Anda hanya perlu memanipulasi objek, dan otomatis ORM akan memanipulasikan data di database sesuai dengan objek yang dimanipulasi.

Hibernate adalah salah satu framework opensource untuk Object Relational Mappingyang paling populer. Karena kehebatan Hibernate, banyak bahasa pemrograman lain yang mengimplementasikan arsitektur Hibernate, seperti NHibernate untuk .NET Framework dan Doctrine untuk PHP.

Video tutorial Pemrograman Database Menggunakan Java dan Hibernate Framework 4 merupakan panduan lengkap belajar pemrograman database menggunakan Java dan Hibernate Framework versi 4. Video ini akan memandu Anda belajar teknik ORM, konfigurasi Hibernate, pemetaan entitas, pemetaan relasi, melakukan query sampai optimisasi Hibernate. 

Lihat Daftar Isi Video Tutorial.

Servlet 3 – Menyimpan Data ke Database MySQL Menggunakan JDBC


Pada artikel ini, saya menulis artikel tentang cara menyimpan data ke database MySQL menggunakan JDBC melalui servlet 3. Hal pertama yang perlu dilakukan adalah membuat database dan tabel di MySQL.

create database belajar;

use belajar;

create table barang(
     id integer primary key auto_increment,
     nama varchar(100) not null,
     harga_beli integer not null,
     harga_jual integer not null
)type=InnoDB;

Selanjutnya buatlah koneksi ke database yang telah dibuat, kita akan menggunakan WebListener untuk membuat koneksi tersebut.

package khannedy.web.listener;

import java.sql.Connection;
import java.sql.DriverManager;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import javax.servlet.annotation.WebListener;

@WebListener
public class ConnectionListener implements ServletContextListener {

    public static final String CONNECTION_KEY = "your_connection_key";

    @Override
    public void contextInitialized(ServletContextEvent sce) {
        try {
            Class.forName("com.mysql.jdbc.Driver").newInstance();
            Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/belajar", "root", "root");
            sce.getServletContext().setAttribute(CONNECTION_KEY, connection);
        } catch (Throwable t) {
            t.printStackTrace();
        }
    }

    @Override
    public void contextDestroyed(ServletContextEvent sce) {
        try {
            Connection connection = (Connection) sce.getServletContext().getAttribute(CONNECTION_KEY);
            connection.close();
        } catch (Throwable t) {
            t.printStackTrace();
        }
    }
}

Setelah itu buat halaman HTML untuk menampung input data yang akan dikirim ke servlet

<!doctype html>
<html>
    <head>
        <title>Menambah Data</title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    </head>
    <body>
        <h1>Tambah Data Barang</h1>
        <form method="post" action="SaveData">
            <table>
                <tbody>
                    <tr>
                        <td>Nama</td>
                        <td><input type="text" name="nama"/></td>
                    </tr>
                    <tr>
                        <td>Harga Beli</td>
                        <td><input type="text" name="harga_beli"/></td>
                    </tr>
                    <tr>
                        <td>Harga Jual</td>
                        <td><input type="text" name="harga_jual"/></td>
                    </tr>
                    <tr>
                        <td></td>
                        <td><input type="submit" value="Process"/></td>
                    </tr>
                </tbody>
            </table>
        </form>
    </body>
</html>

Setelah itu, buat servlet dimana digunakan untuk melakukan proses simpan data ke database MySQL.

package khannedy.web.servlet;

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import khannedy.web.listener.ConnectionListener;

@WebServlet(name = "SaveData", urlPatterns = {"/SaveData"})
public class SaveDataServlet extends HttpServlet {

    private static final long serialVersionUID = 1L;

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        try {
            Connection connection = (Connection) getServletContext().getAttribute(ConnectionListener.CONNECTION_KEY);

            String sql = "insert into barang (nama, harga_beli, harga_jual) values (?, ?, ?);";

            PreparedStatement statement = connection.prepareStatement(sql);
            statement.setString(1, request.getParameter("nama"));
            statement.setInt(2, Integer.parseInt(request.getParameter("harga_beli")));
            statement.setInt(3, Integer.parseInt(request.getParameter("harga_jual")));
            statement.executeUpdate();
            statement.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }

        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        try {
            out.println("<html>");
            out.println("<head>");
            out.println("<title>Servlet SaveDataServlet</title>");
            out.println("</head>");
            out.println("<body>");
            out.println("<h1>Berhasil Menambah Data Barang</h1>");
            out.println("</body>");
            out.println("</html>");
        } finally {
            out.close();
        }
    }
}

Hasilnya :

Screenshot-Menambah Data - Google Chrome

Screenshot-Menambah Data - Google Chrome

Screenshot-Servlet SaveDataServlet - Google Chrome

Screenshot-Servlet SaveDataServlet - Google Chrome

Screenshot-echo@echo-ubuntu: ~ - Terminal

Screenshot-echo@echo-ubuntu: ~ - Terminal

Konfigurasi Java Persistence API 2 Tanpa Menggunakan XML


Java Programming

Java Programming

Tadi ada yang bertanya, gimana caranya setting koneksi database secara dinamis di JPA, biasanya kan pake XML, dan setelah dibuild projectnya, maka gak bisa diubah lagi secara dinamis. Dia ingin menggunakan koneksi secara dinamis, jadi pengguna bisa menginputkan koneksi manual melalui form.

Ketika JPA versi 1, hal ini tidak dapat dilakukan. JPA 1 masih menggunakan XML untuk melakukan konfigurasinya. Namun sejak versi JPA 2, kita dapat melakukan konfigurasi secara dinamis tanpa menggunakan XML, Caranya?

Pertama biasanya kita Membuat persistence.xml seperti dibawah ini :

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
  <persistence-unit name="DynamicJPAPU" transaction-type="RESOURCE_LOCAL">
    <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
    <properties>
      <property name="javax.persistence.jdbc.url" value="jdbc:derby://localhost:1527/sample"/>
      <property name="javax.persistence.jdbc.password" value="app"/>
      <property name="javax.persistence.jdbc.driver" value="org.apache.derby.jdbc.ClientDriver"/>
      <property name="javax.persistence.jdbc.user" value="app"/>
      <property name="eclipselink.ddl-generation" value="create-tables"/>
    </properties>
  </persistence-unit>
</persistence>

Sekarang hapus bagian konfigurasi koneksi ke database, sehingga menjadi seperti dibawah ini :

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
  <persistence-unit name="DynamicJPAPU" transaction-type="RESOURCE_LOCAL">
    <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
    <properties>
      <property name="eclipselink.ddl-generation" value="create-tables"/>
    </properties>
  </persistence-unit>
</persistence>

Sekarang, untuk membuat EntityManagerFactory-nya, maka kita perlu menggunakan parameter untuk melakukan koneksi, contohnya dibawah ini :

Map<String, String> map = new HashMap<String, String>();
map.put("javax.persistence.jdbc.url", "jdbc:derby://localhost:1527/sample");
map.put("javax.persistence.jdbc.password", "rahasia");
map.put("javax.persistence.jdbc.driver", "org.apache.derby.jdbc.ClientDriver");
map.put("javax.persistence.jdbc.user", "ekoganteng");

EntityManagerFactory factory = Persistence.createEntityManagerFactory("SamplePU", map);

Dan parameter-parameter tersebut bisa diisi melalui form atau apapun. Selamat mencoba 😀

Download Buku MySQL dan Java Database Connectivity


 

MySQL dan Java Database Connectivity

MySQL dan Java Database Connectivity

 

Silahkan download bukunya disini :

https://eecchhoo.wordpress.com/buku/

Selamat Belajar…