320 likes | 443 Views
JAVA & DATABASE. JDBC Introduction. JDBC is basically used because it can access any database. JDBC uses drivers to connect to the database, which are categorized into four types. Jdbc has a set of exclusive interfaces and classes. Few steps to perform JDBC application. JDBC Driver.
E N D
JDBC Introduction • JDBC is basically used because it can access any database. • JDBC uses drivers to connect to the database, which are categorized into four types. • Jdbc has a set of exclusive interfaces and classes. • Few steps to perform JDBC application.
JDBC Driver • Jdbc-Odbc bridge driver : This bridge driver can be used to connect to any existing database, I.e, ODBC compliant. • Native-API/partly Java driver : Converts JDBC calls into database specific calls for database such as SQl , Oracle etc. Driver is partly written in “Java” and partly in “C” . • Net-protocol/all-Java driver : This driver is used in Internet to connect to the database at different locations. This is supposed to be the most flexible driver. • Native-protocol/all-Java driver : Converts the JDBC calls into the network protocol used by DBMS’s directly. This is very much used in intranet access.
Interfaces : Connection Statement Result set Prepared statement Result set Meta data Callable statement D/B Meta data Classes : Driver manager Date Time Types Date Driver property information Time stamp JDBC API for Database
JDBC • Ada 7 langkah untuk mengakses database: • Load Driver JDBC • Mendefinisikan Koneksi URL yang dipakai • Menghubungkan Koneksi tsb. • Menciptakan statement object • Mengeksekusi query atau update • Memproses Hasil • Memutuskan Koneksi
JDBC try { // Class.forName("org.gjt.mm.mysql.Driver"); // Step 1 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); // step1 } catch (Exception E) { E.printStackTrace(); } // end catch
JDBC try { con = DriverManager.getConnection("jdbc:odbc:Database1");//,"root",""); // step 2 and 3
JDBC stmt = con.createStatement(); // step 4 rs = stmt.executeQuery("SQL Query'"); // step 5 while (rs.next()) { // step 6 : : } // while
JDBC stmt.close(); // step7 con.close();
Access Database • Microsoft Acess Database : db1
Setting Access Database • Menset Database yang dipakai sebagai acuan dalam Program • Start -> Control Panel -> ODBC Data Source
Setting Access Database • Tampil jendela ODBC Data Source Administrator • Click System DSN-> Add-> pilih Driver (Microsoft Access Driver) -> Finish. Dalam hal ini kita memakai Access Database. • Tentukan Letak File Database yang digunakan
Setting Access Database • Click OK • Data base db1 siap diakses oleh Program
JDBC Program try { conn = DriverManager.getConnection("jdbc:odbc:bukuJDBC"); // step 2 and 3 stmt = conn.createStatement(); // step 4 rs = stmt.executeQuery("SELECT * FROM buku"); while (rs.next()) { // step 6 System.out.print(rs.getString("No") + " "); System.out.print(rs.getString("Judul") + " "); System.out.print(rs.getString("Pengarang") + " "); System.out.print(rs.getString("Penerbit") + " "); System.out.print(rs.getString("harga") + " "); System.out.println(""); } // while stmt.close(); conn.close(); } catch(SQLException sqle) { System.err.println("SQLException : " + sqle.getMessage()); } // end cacth } }} package jdbc; import java.sql.*; public class JDBCApp { public static void main(String[] args) { Connection conn = null; Statement stmt = null; ResultSet rs = null; try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); // step1 } catch (ClassNotFoundException cnfe) { System.err.println(cnfe); } catch (Exception E) { E.printStackTrace(); } // end catch
JDBC Program • Hasil Program 1 Java 2 Complete Reference Patrick Naughton McGraw Hill 600000 2 Distributed Systems Tanenbaum Prentice Hall 500000 3 Home Networking Bible Plumley IDG Books 375000 • Bandingkan
JDBC Program dengan Access • Setting perlu dilakukan pada Control Panel, untuk menset Database yang dipakai • Pada Java Program tidak diperlukan setting apapun • Sun telah menyediakan driver secara otomatis untuk Access • Hal ini tidak berlaku untuk Sistem Database yang lain, misal: mysql, oracle, dll.
Mysql Database • Mysql dapat didownload di : www.mysql.com/downloads • Extract dan lakukan instalasi dengan memilih: Setup.exe • Mysql terletak di C:\mysql • Aktifkan mysql admin dengan double click di : C:\mysql\bin\winmysqladmin
Mysql Database • Inilah tampilannya • Atau tampak di pojok kanan bawah
Mysql Database • Mysql database : test002 • Tabel : tabel02
Java to mysql • JDBC Driver for MySQL dapat di-download di : www.mysql.com/downloads dengan nama : MySQL Connector/J 2.0.14 • Extract ke C:\ • JDBC Driver akan terletak di subdirectory C:\mysql-connector-java-2.0.14
Java to mysql • Dengan JBUILDER, buat program (class) Java misalnya : JDBCTest01.java • Project -> Project Properties -> Path -> Required Libraries -> Add... -> New, tuliskan nama library-nya, misal mysql-connector-java, click Add...
Java to mysql • Pilih subdirectory C:\mysql-connector-java-..., di mana JDBC driver untuk mysql diletakkan, click OK
Java to mysql • Library yang baru akan tampak seperti pada gambar, click OK
JDBC Program try { conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test002","rsn","risanuri"); stmt = conn.createStatement(); // step 4 rs = stmt.executeQuery("SELECT * FROM tabel02"); while (rs.next()) { // step 6 System.out.print(rs.getString("Nomer") + " "); System.out.print(rs.getString("Judul") + " "); System.out.print(rs.getString("Pengarang") + " "); System.out.print(rs.getString("Penerbit") + " "); System.out.print(rs.getString("harga") + " "); System.out.println("Oke"); } // while stmt.close(); conn.close(); } catch(SQLException sqle) { System.err.println("SQLException : " + sqle.getMessage()); } // end cacth } } package jdbc01; import java.sql.*; public class JDBCTest01 { public static void main(String[] args) { Connection conn = null; Statement stmt = null; ResultSet rs = null; try { Class.forName("org.gjt.mm.mysql.Driver"); // Step 1 } catch (ClassNotFoundException cnfe) { System.err.println(cnfe); } catch (Exception E) { E.printStackTrace(); } // end catch
Hasil JDBC mysql 1 Core Servlets and JSP Marty Hall Prentice Hall 350000 Oke 2 Java 2 Complete Reference Patrick Naughton McGraw Hill 600000 Oke • J2EE Unleashed Bambara Allen Sams 600000 Oke • Bandingkan
JDBC Program dengan mysql • Setting tidak perlu dilakukan pada Control Panel • Perlu dilakukan setting pada Java Program • Driver JDBC disediakan oleh mysql dan harus di-download secara terpisah • Mysql memungkinkan memanggil Database lewat jaringan
Tambahan con = DriverManager.getConnection("jdbc:mysql://localhost:3306/pasiendreritta","root",""); stmt = con.createStatement(); stmt.executeUpdate("INSERT INTO catatanpasien VALUES('"+ navn[0] +"','"+ navn[1] +"','"+ navn[2] +"','"+ navn[3] +"','"+ navn[4] +"','"+ navn[5] +"');");
Mysql tools • Dbtools • Mysql-front
Java to mysql • Setting Classpath, prosesnya sama dengan setting classpath yang lain • Pada Win98, Start ->Run (sysedit), kemudian pada autoexec.bat tambahkan C:\mysql-connector-java-2.0.14, yang merupakan letak subdir JDBC Driver
Java to mysql • Compile • myjava>javac JDBCTest01.java • Buat subdir jdbc01 di dalam :\myjava • Letakkan JDBCTest01.class pada subdir :\myjava\jdbc01 • Eksekusi • \myjava>java jdbc01.JDBCTest01 1 Routing TCP/IP Jeff Doyle null 900000 Oke 2 Top Down Network Design Oppenheimer 0 600000 Oke 3 Java Security Jess Gams 0 500000 Oke