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
Tag ที่น่าสนใจ: java jdbc database_connectivity jdbc_driver url_configuration mysql microsoft_sql_server oracle db2 postgresql import_jdbc_library connection_establishment sql_statement database_management url_syntax
หากมีข้อผิดพลาด/ต้องการพูดคุยเพิ่มเติมเกี่ยวกับบทความนี้ กรุณาแจ้งที่ http://m.me/Expert.Programming.Tutor
085-350-7540 (DTAC)
084-88-00-255 (AIS)
026-111-618
หรือทาง EMAIL: NTPRINTF@GMAIL.COM