Koneksi ke database dari java visual karena kita akan membuat program terkoneksi ke database dalam hal ini kita akan membuat dengan menggunakan database postgresql
Cek apakah postgresql, Oh ia praktek kali ini menggunakan OS Centos
#service postgresql status
pastikan user postgresql telah aktif
[root@localhost ~]# cat /etc/passwd | grep postgres
postgres:x:26:26:PostgreSQL Server:/var/lib/pgsql:/bin/bash
Login sebagai user postgres
[root@localhost ~]# su – postgres
-bash-3.2$ ls
backups data pgstartup.log
Lakukan test login
-bash-3.2$ psql template1
Welcome to psql 8.1.18, the PostgreSQL interactive terminal.
Type: \copyright for distribution terms
\h for help with SQL commands
\? for help with psql commands
\g or terminate with semicolon to execute query
\q to quit
template1=# ALTER USER postgres with password ‘password’;
ALTER ROLE
template1=# \q
edit konfigurasi menjadi password
——————————————————————————
# “local” is for Unix domain socket connections only
local all all password
# IPv4 local connections:
host all all 127.0.0.1/32 password
# IPv6 local connections:
host all all ::1/128 password
—————————————————————————–
lalu edit $vim data/postgresql.conf dengan aktifkan tanda pagar pada address
————————————————
# – Connection Settings –
listen_addresses = ‘localhost’ # what IP address(es) to listen on;
———————————————-
Lakukan restart
[root@localhost ~]# /etc/init.d/postgresql restart
Buat user login postgres yang baru
#createuser -U postgres siswa -P
[root@localhost ~]# createuser -U postgres siswa -P
Enter password for new role: isi password user baru misal siswa
Enter it again: Ulangi
Shall the new role be a superuser? (y/n) n
Shall the new role be allowed to create databases? (y/n) y
Shall the new role be allowed to create more new roles? (y/n) n
Password: —> password user postgresql ‘password’
CREATE ROLE
Buat database inventori
[root@localhost ~]# createdb inventori -U siswa
Login database sebagai user siswa
[root@localhost ~]# psql -U siswa inventori
Password for user siswa:
Welcome to psql 8.1.18, the PostgreSQL interactive terminal.
inventori=> \d
Buat Table
inventori=> CREATE TABLE jenis_barang (
inventori(> idjenis serial primary key,
inventori(> nama varchar(30) unique
inventori(> );
NOTICE: CREATE TABLE will create implicit sequence “jenis_barang_idjenis_seq” for serial column “jenis_barang.idjenis”
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index “jenis_barang_pkey” for table “jenis_barang”
NOTICE: CREATE TABLE / UNIQUE will create implicit index “jenis_barang_nama_key” for table “jenis_barang”
CREATE TABLE
inventori=> create table satuan (
inventori(> idsatuan serial primary key,
inventori(> nama varchar(20) unique);
lakukan input data
inventori=> insert into jenis_barang (nama) values (‘elektronik’);
INSERT 0 1
inventori=> insert into jenis_barang (nama) values (‘Furniture’);
INSERT 0 1
inventori=> insert into jenis_barang (nama) values (‘Makanan’);
INSERT 0 1
inventori=> insert into satuan (nama) values (‘Box’);
INSERT 0 1
inventori=> insert into satuan (nama) values (‘Unit’);
INSERT 0 1
inventori=> insert into satuan (nama) values (‘Kg’);
INSERT 0 1
inventori=> insert into satuan (nama) values (‘Buah’);
INSERT 0 1
inventori=> select * from jenis_barang;
idjenis | nama
———+————
1 | elektronik
2 | Furniture
3 | Makanan
(3 rows)
inventori=> select * from satuan;
idsatuan | nama
———-+——
1 | Box
2 | Unit
3 | Kg
4 | Buah
(4 rows)
inventori=>
OK settingan postgres sudah rebes sekarang kita ke javanya menggunakan netbeans langsung saja
buat file db.properties
isikan file db.properties
——————————————————————————
# To change this template, choose Tools | Templates
# and open the template in the editor.
DBUSER=siswa
DBPASS=siswa
DBSERVER=localhost
DBNAME=inventori
——————————————————————————
Tambahkan driver untuk database dalam hal ini postgres
Lalu Buat file DBKoneks.java “dalam hal ini saya beri nama DBKoneks”
isi file DBKoneks.java
==========================
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package org.lp3tnf.ppdt.db;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.ResourceBundle;
/**
*
* @author root
*/
public class DBKoneks {
private Connection con ;
ResourceBundle bundle = null;
public DBKoneks() {
bundle = ResourceBundle.getBundle(“db”);
initDB();
}
public void initDB()
{
String dbuser = bundle.getString(“DBUSER”);
String dbpass = bundle.getString(“DBPASS”);
String dbname = bundle.getString(“DBNAME”);
String dbhost = bundle.getString(“DBSERVER”);
try
{
String url = “jdbc:postgresql://”+dbhost+”:5432/”+dbname;
Class.forName(“org.postgresql.Driver”);
con = DriverManager.getConnection(url,dbuser,dbpass);
}catch (Exception ee)
{
System.out.println(“GAGAL KONEKSI DATABASE”);
ee.printStackTrace();
}
}
public Connection getKoneksi()
{
try
{
if (this.con != null || this.con.isClosed())
{
this.initDB();
}
}catch(SQLException ee)
{
ee.printStackTrace();
}
return this.con;
}
public void closeKoneksi()
{
try
{
if (this.con != null) this.con.close();
}catch(SQLException ee)
{
System.out.println(“GAGAL TUTUP KONEKSI”);
ee.printStackTrace();
}
}
}
===============================
Buat File TesKoneksi.java
isi dari file TestKoneksi.java
=============================
/**
*
* @author root
*/
public class TesKoneksi {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic
String sql = “SELECT * FROM jenis_barang”;
//Sesuaikan dengan namafile DBKoneks.java jadi nama var dan method DBKoneks
DBKoneks dbkon = new DBKoneks();
try
{
Statement st = dbkon.getKoneksi().
createStatement();
//ResultSet kalau di pdo kaya pdo fetch all
ResultSet rs = st.executeQuery(sql);
while(rs.next())
{
//Get berdasarkan tipe data
System.out.println(rs.getInt(“idjenis”)
+ ” – ” + rs.getString(“nama”)
);
}
dbkon.closeKoneksi();
}catch (SQLException ee)
{
System.out.println(“Upps Error Connect”);
ee.printStackTrace();
}
}
}
==========================
Buat file TestInsert.java ini untuk insert data
Berikut scriptnya
===================
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package org.lp3tnf.ppdt.db;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import javax.swing.JOptionPane;
/**
*
* @author root
*/
public class TestInsert {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
String sql = “INSERT INTO jenis_barang”
+ “(nama) VALUES (?)”;
String str_jenis = JOptionPane.showInputDialog(“Masukan Jenis Barang”);
DBKoneks dbkon = new DBKoneks();
try
{
PreparedStatement ps = dbkon.getKoneksi().prepareStatement(sql);
//value satu 1 itu adalah dari (?) kalau tanda tanyanya lebih dari satu
//misal 2 (??) maka value pada ps.setString(2, str_jenis); menjadi 2
ps.setString(1, str_jenis);
ps.executeUpdate();
}catch(SQLException ee)
{
System.out.println(“Upps Error Koneksi”);
ee.printStackTrace();
}
dbkon.closeKoneksi();
}
}
======================
Kemudian untuk mencobanya jalankan masing-masing file dengan run file pada filenya
klik kanan run file atau shift + f6
run:
BUILD SUCCESSFUL (total time: 21 seconds)
periksa di file TesKoneksi.java dengan run file
maka outputnya
run:
1 – elektronik
2 – Furniture
3 – Makanan
4 – kotak
5 – input datanya
BUILD SUCCESSFUL (total time: 0 seconds)
Demikian deskripsi penggunaan database pada java.