22. การเชื่อมฐานข้อมูลกับจาวาด้วย JDBC

___________________

รับสอนเขียนJAVA , C# , VB.net

โทร 0853507540

___________________

22. การเชื่อมฐานข้อมูลกับจาวาด้วย JDBC

 

            JDBC ย่อมาจาก Java Database Connectivity หรือก็คือตัวเชื่อมต่อระหว่างโปรแกรมจาวากับฐานข้อมูล โดยมีพวกคลาสและอินเทอร์เฟสรวมกันเรียกว่า JDBC API แต่ตัว JDBC API ไม่ได้ติดต่อกับฐานข้อมูลโดยตรงแต่เป็นการทำงานร่วมกันกับ JDBC Driver โดยการติดต่อผ่าน JDBC Driver Manger ซึ่งเป็นตัวสร้างการเชื่อมต่อจริงๆระหว่าง JDBC Driver กับฐานข้อมูล ใช้การ import java.sql.DriverManager

ขั้นตอนการติดตั้ง JDBC มี 7 ขั้นตอน ที่ต้องตรวจสอบและทำให้ครบ

1.      โหลด JDBC Driver

2.      กำหนด URL

3.      สร้างการเชื่อมต่อ

4.      สร้างอ็อปเจ็คของ Statement

5.      ประมวลผล(execute) SQL statement

6.      แสดงผล

7.      ปิดการเชื่อมต่อ

ขั้นที่ 1 : โหลด JDBC Driver

            JDBC Driver อย่างที่เพิ่งพูดไปคือตัวเชื่อมต่อระหว่างโปรแกรมจาวากับฐานข้อมูลดังนั้นจึงจำเป็นต้องโหลดมาให้เรียบร้อยก่อน ซึ่ง Driver ก็มีให้เลือกมากมายซึ่งจะต่างกันออกไปตามชนิดของฐานข้อมูล โดยที่ Library ของ JDBC Driver จะเป็น ไฟล์ .jar

            การเรียก JDBC Driver ทำดังนี้

Class.forname(“ชื่อคลาสที่โหลด JDBC Driver”);

            ต้องครอบด้วย try-catch ด้วยเพื่อดักจับ ClassNotFoundException สิ่งที่ต้องป้องกันคือป้องกันการหา .jar ไม่เจอ เดี๋ยวโปรแกรมรันไม่ได้

            การโหลดLibrary โหลดโดยการพิมพ์คำค้นหาในกูเกิล

ตาราง JDBC Driver

ระบบจัดการฐานข้อมูล

JDBC Driver

Library File(.jar)
MySQL com.mysql.jdbc.Driver mysql-connector-java-nn-bin.jar
Microsoft SQL Server com.micorsoft.sqlsever.jdbc.SQLServerDriver sqljdbc4.jar
Oracle oracle.jdbc.OracleDriver ojdbc6.jar
DB2 com.ibm.db2.jcc.DB2Driver db2jcc.jar
PostgreSQL Org.postgresql.Driver Postgresql-<version>.jdbc3.jar

 

การโหลดJDBC ของ MySQL

1.      พิมพ์คำค้นหา mysql ในเว็บ google.com เลือก Downloads

 

รูป5-1

2.      เลือก MySQL Connectors

 

รูป5-2

3.      เลือก Connectors ในที่นี้เลือก connectors/j สำหรับจาวา

 

รูป5-3

4.ดาวน์โหลดและติดตั้งใน

 

รูป5-4

การ import JDBC มาเป็น Library ในเครื่อง

1.เรื่องโปรเจ็คที่ต้องการ import JDBC เข้ามา จากนั้นเลือก Properties

 

รูป5-5

2.เลือก Java Build Path จากนั้นเลือก Add External JARs เลือก JDBC

 

 

รูป5-6

 

ขั้นที่ 2 : กำหนด URL

            กำหนด URL ที่จะใช้เชื่อมต่อ จะต้องกำหนดเป็นตัวแปรชิด String ส่วนวิธีกำหนด URL จะต่างกันไปตาม JDBC Driver ที่ใช้

ระบบจัดการฐานข้อมูล

URL

MySQL jdbc:mysql:// ชื่อหรือIPของserver : port / ชื่อฐานข้อมูล
Microsoft SQL Server jdbc:sqlserver:// ชื่อหรือIPของserver : port / ชื่อฐานข้อมูล
Oracle(OCI) jdbc:oracle:oci@ ชื่อหรือIPของserver : port / ชื่อฐานข้อมูล
Oracle(Thin) jdbc:oracle:thin@ ชื่อหรือIPของserver : port / ชื่อฐานข้อมูล
DB2 jdbc:db2:// ชื่อหรือIPของserver : port / ชื่อฐานข้อมูล
PostgreSQL jdbe.postgresql:// ชื่อหรือIPของserver : port / ชื่อฐานข้อมูลs

 

ขั้นที่ 3 : สร้างการเชื่อมต่อ

            สร้างการเชื่อมต่อโดยให้ คลาส DriveManager เรียกเมธ็อด getConnection() โดยการเชื่อมต่อจะต้องครอบด้วย try-catch สำหรับดักจับ SQLException e

การเชื่อมต่อทำได้ดังนี้

            Connection ชื่อตัวแปรอ็อปเจ็ค = DriverManager.getConnection(URL, username, password)

ขั้นที่ 4 : สร้างอ็อปเจ็คของ Statement

อ็อปเจ็ค Statement จะทำหน้าที่ส่ง SQL Statement ไปประมวลผล เชื่อมต่อโดยการเอาตัวแปรที่เก็บ URL มาเรียกเมธ็อด createStatement();

Statement ชื่อตัวแปรอ็อปเจ็ค = ตัวแปรที่เชื่อม URL.createStatement();

ขั้นตอนที่ 5 : ประมวลผล(execute) SQL statement

            การประมวลผลทำโดยนำตัวแปร Statement มาประมวลผล โดยเมธ็อดที่นำประมวลผลบ่อยได้แก่ executeQuery และ executeUpdate

executeQuery

ใช้กับคำสั่ง SELECT statement โดยจะทำการคืนค่าออกมาเป็นตัวที่เลือก

ResultSet ตัวแปรอ็อปเจ็ค = ชื่อตัวแปรอ็อปเจ็คstatement. executeQuery(SQL statement)

executeUpdate

            ใช้กับคำสั่ง INSERT, UPDATE, DELETE statement

            int  ตัวแปรที่จะรับค่าจากเมธ็อด = ชื่อตัวแปรอ็อปเจ็คstatement. executeUpdate(SQL statement)

ขั้นตอนที่ 6 : แสดงผล

            การแสดงผลคือการเอาสิ่งที่ประมวลผลได้มาแสดง การแสดงผลจะใช้คำสั่งลูปโดยใช้ next(); มาช่วยหาว่ายังมีตัวที่ต้องแสดงผลอยู่หรือไม่

ขั้นตอนที่ 7 : ปิดการเชื่อมต่อ

            หลังจากเขียนคำสั่งครบหมดแล้วขั้นตอนต่อไปก็ต้องทำการปิดการเชื่อมต่อ โดยทำการปิดด้วยเมธ็อด close สิ่งที่จะต้องปิดเป้นตามลำดับดังต่อไปนี้ ResultSet Statement Connection

ชื่อตัวแปร ResultSet.close();

ชื่อตัวแปร Statement.close();

ชื่อตัวแปร Connection.close();

อธิบายพร้อมตัวอย่างโค๊ดจริง

            (จะอธิบายเฉพาะส่วนที่เกี่ยวข้องกับหัวข้อนี้เท่านั้น เพราะนี้เป็นโค๊ดจริงอาจมีส่วนที่ไม่เกี่ยวข้องประกอบอยู่ด้วย)

 

รูป 5-7

บรรทัดที่ 3 : import sql ทั้งหมดด้วยเครื่องหมาย *

บรรทัดที่ 13 : สร้างอ็อปเจ็คของ Connection ด้วยตัวแปรชื่อ con

บรรทัดที่ 14 : สร้างอ็อปเจ็คของ Statement ด้วยตัวแปรชื่อ st

บรรทัดที่ 15 : สร้างอ็อปเจ็คของ ResultSet ด้วยตัวแปรชื่อ rs

ขั้นที่ 2

บรรทัดที่ 17 : สร้างสตริงของ url โดยเอาข้อมูลมาจาก GlobalData(คลาสอื่น)

ขั้นที่ 3

บรรทัดที่ 22 : สร้างการเชื่อมต่อ

ขั้นที่4

บรรทัดที่ 23 : สร้าง Statement

ขั้นที่ 5

บรรทัดที่ 24 : ส่ง Statement ไปประมวลผล

ขั้นที่ 6

บรรทัดที่ 26 : แสดงผลข้อมูล

บรรทัดที่ 36 : ปิด try-catch ด้วย SQLException

ขั้นที่ 7 ปิดการเชื่อมต่อ

 

รูป5-8

 

แผนผังการเรียนเขียนโปรแกรม

 

___________________

รับสอนเขียนJAVA , C# , VB.net

โทร 0853507540

___________________

 

ใส่ความเห็น