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

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

Insert Data Dengan ResultSet


Biasanya ResultSet digunakan untuk meload data hasil query, tapi tahukan bahwa ResultSet juga dapat digunakan untuk menambah data ke dalam database, sehingga kita tidak perlu lagi menggunakan perintah INSERT INTO BLA BLA BLA

Connection connection = DatabaseUtilities.createConnection();

Statement statement = connection.createStatement(
ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);

ResultSet resultSet = statement.executeQuery("SELECT * FROM mahasiswa");

Saat createStatement diatas, kita menggunakan parameter ResultSet.TYPE_SCROLL_INSENSITIVE dan ResultSet.CONCUR_UPDATEABLE, TYPE_SCROLL_INSENSITIVE artinya bahwa result set yang akan kita buat tidak sensitive terhadap perubahan yang terjadi pada result set, sedangkan CONCUR_UPDATEABLE artinya bahwa result set yang kita buat dapat melakukan proses pengubahan data (dimana disini kita akan melakukan penambahan data).

resultSet.moveToInsertRow();
resultSet.updateString("nim", "10106033");
resultSet.updateString("nama_depan", "Eko Kurniawan");
resultSet.updateString("nama_belakang", "Khannedy");
resultSet.updateDate("tanggal_lahir",
new Date(System.currentTimeMillis()));
resultSet.insertRow();

Untuk menambah data sebuah baris, maka kita menggunakan metode moveToInsertRow() milik ResultSet. Setelah itu maka kita perlu menambahkan data-data tiap kolomnya, dimana pada kode diatas saya menambahkan data kolom nim, nama_depan, nama_belakang dan tanggal_lahir.

Jika proses penambahan data tiap kolomnya telah selesai, maka untuk menyimpan perubahan kita perlu memanggil mettode insertRow(). Dan setelah itu, otomatis data yang kita tambahkan akan masuk ke database tanpa menggunakan perintah INSERT INTO BLA BLA BLA

Full code :

Connection connection = DatabaseUtilities.createConnection();

Statement statement = connection.createStatement(
ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);

ResultSet resultSet = statement.executeQuery("SELECT * FROM mahasiswa");

resultSet.moveToInsertRow();
resultSet.updateString("nim", "10106033");
resultSet.updateString("nama_depan", "Eko Kurniawan");
resultSet.updateString("nama_belakang", "Khannedy");
resultSet.updateDate("tanggal_lahir",
new Date(System.currentTimeMillis()));
resultSet.insertRow();

resultSet.close();
statement.close();
connection.close();

Belajar Java Database Connectivity {1} Intro


pada artikel kali ini saya akan bahas tentang java database connectivity atau lebih dikenal dengan JDBC. jdbc merupakan sebuah api (application programming interface) yang digunakan khusus untuk proses yang berhubungan dengan database. baik itu koneksi ke database, manipulasi data yang ada dalam database dan sebagainya.

jdbc ini hanyalah sebuah api, sedangkan implementasinya adalah implementasi dari setiap vendor database yang kita gunakan, misalnya untuk mysql ada mysql-connector-java, untuk oracle ada odbc dan biasanya setiap vendor database membuat implementasi untuk jdbc.

pada sesi artikel ini, saya akan bahas tentang jdbc itu sendiri, dari mulai bagaimana cara meregister jdbc implementasi dari vendor database yang anda gunakan sampai membuat koneksi ke database, melakukan manipulasi data, sampai ke query data

sekarang sebelum anda memulai mengikuti artikel ini, sebaiknya anda unduh dulu implementasi jdbc vendor database yang anda gunakan, dan tentunya juga databasenya 😀

bersambung…