SQLite - Java
ติดตั้ง
ในโปรแกรม Java ก่อนที่จะใช้ SQLite เราต้องให้แน่ใจว่าเครื่องมีไดรเวอร์ JDBC SQLite และ Java คุณสามารถดูกวดวิชา Java บนวิธีการติดตั้ง Java บนคอมพิวเตอร์ของคุณ ตอนนี้เรามาดูวิธีการติดตั้งไดรเวอร์ JDBC SQLite บนเครื่อง
จาก SQLite-JDBC ดาวน์โหลดรุ่นล่าสุดของSQLite-jdbc- (Version) ห้องสมุดขวด
ดาวน์โหลดเพิ่มในระดับเส้นทาง JAR ไฟล์SQLite-jdbc- (Version) ขวดของคุณหรือใช้ในตัวเลือก-classpath ซึ่งจะอธิบายในตัวอย่างที่เป็นไปตาม
ในส่วนล่างของความรู้การเรียนรู้ก่อนที่คุณจะต้องมีความเข้าใจเบื้องต้นของแนวคิดของ Java JDBC ถ้าคุณยังไม่ได้เข้าใจความรู้ที่เกี่ยวข้องก็จะแนะนำให้คุณใช้จ่ายในช่วงครึ่งชั่วโมงแรกของการเรียนรู้ความรู้ที่เกี่ยวข้องภายใต้ JDBC กวดวิชาที่จะช่วยให้คุณได้เรียนรู้คำอธิบายต่อไปของความรู้
เชื่อมต่อกับฐานข้อมูล
โปรแกรมจาวาต่อไปนี้แสดงวิธีการเชื่อมต่อกับฐานข้อมูลที่มีอยู่ ถ้าฐานข้อมูลไม่ได้อยู่ก็จะถูกสร้างขึ้นและในที่สุดก็จะส่งกลับวัตถุฐานข้อมูล
นำเข้า java.sql * .; SQLiteJDBC เรียนสาธารณะ { ประชาชนเป็นโมฆะคง main (String args []) { การเชื่อมต่อ c = null; try { Class.forName ( "org.sqlite.JDBC"); c = DriverManager.getConnection ( "JDBC: SQLite: test.db"); } catch (ยกเว้น E) { System.err.println (e.getClass () getName () + ":". + e.getMessage ()); System.exit (0); } System.out.println ( "เปิดฐานข้อมูลเรียบร้อยแล้ว"); } }
ตอนนี้ขอรวบรวมและเรียกใช้โปรแกรมดังกล่าวข้างต้นในการสร้างฐานข้อมูลของเราtest.db ในไดเรกทอรีปัจจุบันคุณสามารถเปลี่ยนเส้นทางตามความจำเป็น เราคิดว่ารุ่นต่อไปของไดรเวอร์ JDBC เส้นทางปัจจุบันสามารถใช้ได้SQLite-JDBC-3.7.2.jar
$ Javac SQLiteJDBC.java $ Java -classpath ":. Sqlite-JDBC-3.7.2.jar" SQLiteJDBC เปิดฐานข้อมูลเรียบร้อยแล้ว
หากคุณต้องการที่จะใช้เครื่อง Windows ที่คุณสามารถปฏิบัติตามต่อไปนี้รวบรวมและเรียกใช้รหัสของคุณตามที่แสดง:
$ Javac SQLiteJDBC.java $ Java -classpath ";. Sqlite-JDBC-3.7.2.jar" SQLiteJDBC ฐานข้อมูลเปิดประสบความสำเร็จ
สร้างตาราง
โปรแกรมจาวาต่อไปนี้จะถูกนำมาใช้เพื่อสร้างตารางในฐานข้อมูลที่สร้างขึ้นก่อนหน้านี้:
นำเข้า java.sql * .; SQLiteJDBC เรียนสาธารณะ { ประชาชนเป็นโมฆะคง main (String args []) { การเชื่อมต่อ c = null; งบ stmt = null; try { Class.forName ( "org.sqlite.JDBC"); c = DriverManager.getConnection ( "JDBC: SQLite: test.db"); System.out.println ( "เปิดฐานข้อมูลเรียบร้อยแล้ว"); stmt = c.createStatement (); สตริง SQL = "CREATE TABLE บริษัท " + "(ID INT คีย์หลักไม่เป็นโมฆะ" + "ข้อความชื่อไม่เป็นโมฆะ" + "ยุค INT ไม่เป็นโมฆะ" + "ที่อยู่ CHAR (50)" + "เงินเดือนจริง)"; stmt.executeUpdate (SQL); stmt.close (); c.close (); } catch (ยกเว้น E) { System.err.println (e.getClass () getName () + ":". + e.getMessage ()); System.exit (0); } System.out.println ( "ตารางที่สร้างเสร็จเรียบร้อยแล้ว"); } }
เมื่อโปรแกรมดังกล่าวข้างต้นจะรวบรวมและดำเนินการจะสร้างตาราง บริษัท ในtest.db รายการสุดท้ายของไฟล์ดังต่อไปนี้:
-RW-R. - r-- 1 ราก 3,201,128 22 มกราคม 19:04 SQLite-JDBC-3.7.2.jar -RW-R - r-- 1 ราก 8 พฤษภาคม 1506 05:43 SQLiteJDBC.class -RW-R - r-- 1 ราก 832 8 พฤษภาคม 05:42 SQLiteJDBC.java -RW-R - r-- 1 ราก 8 พฤษภาคม 3072 05:43 test.db.
ดำเนินการแทรก
รหัส Java ต่อไปนี้แสดงให้เห็นว่าการสร้างระเบียนในตาราง บริษัท สร้างขึ้น:
นำเข้า java.sql * .; SQLiteJDBC เรียนสาธารณะ { ประชาชนเป็นโมฆะคง main (String args []) { การเชื่อมต่อ c = null; งบ stmt = null; try { Class.forName ( "org.sqlite.JDBC"); c = DriverManager.getConnection ( "JDBC: SQLite: test.db"); c.setAutoCommit (false); System.out.println ( "เปิดฐานข้อมูลเรียบร้อยแล้ว"); stmt = c.createStatement (); สตริง SQL = "แทรกใน บริษัท (ID ชื่ออายุที่อยู่ Salary)" + "ค่านิยม (1, 'พอล', 32, 'แคลิฟอร์เนีย' 20,000.00);"; stmt.executeUpdate (SQL); SQL = "แทรกใน บริษัท (ID ชื่ออายุที่อยู่ Salary)" + "ค่านิยม (2, 'อัลเลน', 25, เท็กซัส '15,000.00);"; stmt.executeUpdate (SQL); SQL = "แทรกใน บริษัท (ID ชื่ออายุที่อยู่ Salary)" + "ค่านิยม (3, 'เท็ดดี้', 23, 'นอร์เวย์' 20,000.00);"; stmt.executeUpdate (SQL); SQL = "แทรกใน บริษัท (ID ชื่ออายุที่อยู่ Salary)" + "ค่านิยม (4, 'มาร์ค', 25, 'รวย-Mond' 65,000.00);"; stmt.executeUpdate (SQL); stmt.close (); c.commit (); c.close (); } catch (ยกเว้น E) { System.err.println (e.getClass () getName () + ":". + e.getMessage ()); System.exit (0); } System.out.println ( "ประวัติสร้างเสร็จเรียบร้อยแล้ว"); } }
เมื่อโปรแกรมดังกล่าวข้างต้นจะรวบรวมและดำเนินการก็จะสร้างในตารางของ บริษัท สำหรับการบันทึกรับและแสดงสองบรรทัดต่อไป:
ฐานข้อมูลเปิดประสบความสำเร็จ ประวัติสร้างเสร็จเรียบร้อยแล้ว
การดำเนินการเลือก
โปรแกรมจาวาต่อไปนี้แสดงให้เห็นว่าจะได้รับจากตาราง บริษัท ที่สร้างขึ้นก่อนหน้านี้และแสดงบันทึก:
นำเข้า java.sql * .; SQLiteJDBC เรียนสาธารณะ { ประชาชนเป็นโมฆะคง main (String args []) { การเชื่อมต่อ c = null; งบ stmt = null; try { Class.forName ( "org.sqlite.JDBC"); c = DriverManager.getConnection ( "JDBC: SQLite: test.db"); c.setAutoCommit (false); System.out.println ( "เปิดฐานข้อมูลเรียบร้อยแล้ว"); stmt = c.createStatement (); RS ResultSet = stmt.executeQuery ( "SELECT * จาก บริษัท "); ในขณะที่ (rs.next ()) { int id = rs.getInt ( "id"); ชื่อ String = rs.getString ( "ชื่อ"); อายุ int = rs.getInt ( "อายุ"); ที่อยู่ String = rs.getString ( "ที่อยู่"); ลอยเงินเดือน = rs.getFloat ( "เงินเดือน"); System.out.println ( "id =" + ID); System.out.println ( "NAME =" ชื่อ +); System.out.println ( "AGE =" + อายุ); System.out.println ( "ที่อยู่ =" + อยู่); System.out.println ( "เงินเดือน =" + เงินเดือน); System.out.println (); } rs.Close (); stmt.close (); c.close (); } catch (ยกเว้น E) { System.err.println (e.getClass () getName () + ":". + e.getMessage ()); System.exit (0); } System.out.println ( "การดำเนินการทำสำเร็จ"); } }
เมื่อโปรแกรมดังกล่าวข้างต้นจะรวบรวมและดำเนินการจะผลิตผลต่อไปนี้:
ฐานข้อมูลเปิดประสบความสำเร็จ ID = 1 NAME = พอล อายุ = 32 ADDRESS = แคลิฟอร์เนีย เงินเดือน = 20,000.0 ID = 2 NAME = อัลเลน อายุ = 25 ADDRESS = เท็กซัส เงินเดือน = 15,000.0 ID = 3 NAME = เท็ดดี้ อายุ = 23 ADDRESS = นอร์เวย์ เงินเดือน = 20,000.0 ID = 4 NAME = มาร์ค อายุ = 25 ADDRESS = รวย-Mond เงินเดือน = 65,000.0 การดำเนินงานที่ทำสำเร็จ
การดำเนินการปรับปรุง
รหัส Java ต่อไปนี้แสดงให้เห็นถึงวิธีการใช้คำสั่ง UPDATE ปรับปรุงระเบียนใด ๆ แล้วจะได้รับจากตาราง บริษัท และแสดงบันทึกการปรับปรุง:
นำเข้า java.sql * .; SQLiteJDBC เรียนสาธารณะ { ประชาชนเป็นโมฆะคง main (String args []) { การเชื่อมต่อ c = null; งบ stmt = null; try { Class.forName ( "org.sqlite.JDBC"); c = DriverManager.getConnection ( "JDBC: SQLite: test.db"); c.setAutoCommit (false); System.out.println ( "เปิดฐานข้อมูลเรียบร้อยแล้ว"); stmt = c.createStatement (); สตริง SQL = "UPDATE บริษัท ได้กำหนดเงินเดือน = 25,000.00 ที่ id = 1;"; stmt.executeUpdate (SQL); c.commit (); RS ResultSet = stmt.executeQuery ( "SELECT * จาก บริษัท "); ในขณะที่ (rs.next ()) { int id = rs.getInt ( "id"); ชื่อ String = rs.getString ( "ชื่อ"); อายุ int = rs.getInt ( "อายุ"); ที่อยู่ String = rs.getString ( "ที่อยู่"); ลอยเงินเดือน = rs.getFloat ( "เงินเดือน"); System.out.println ( "id =" + ID); System.out.println ( "NAME =" ชื่อ +); System.out.println ( "AGE =" + อายุ); System.out.println ( "ที่อยู่ =" + อยู่); System.out.println ( "เงินเดือน =" + เงินเดือน); System.out.println (); } rs.Close (); stmt.close (); c.close (); } catch (ยกเว้น E) { System.err.println (e.getClass () getName () + ":". + e.getMessage ()); System.exit (0); } System.out.println ( "การดำเนินการทำสำเร็จ"); } }
เมื่อโปรแกรมดังกล่าวข้างต้นจะรวบรวมและดำเนินการจะผลิตผลต่อไปนี้:
ฐานข้อมูลเปิดประสบความสำเร็จ ID = 1 NAME = พอล อายุ = 32 ADDRESS = แคลิฟอร์เนีย เงินเดือน = 25,000.0 ID = 2 NAME = อัลเลน อายุ = 25 ADDRESS = เท็กซัส เงินเดือน = 15,000.0 ID = 3 NAME = เท็ดดี้ อายุ = 23 ADDRESS = นอร์เวย์ เงินเดือน = 20,000.0 ID = 4 NAME = มาร์ค อายุ = 25 ADDRESS = รวย-Mond เงินเดือน = 65,000.0 การดำเนินงานที่ทำสำเร็จ
ดำเนินการลบ
รหัส Java ต่อไปนี้แสดงให้เห็นถึงวิธีการใช้คำสั่ง DELETE ลบระเบียนใด ๆ และจากนั้นนำมาจากตาราง บริษัท และแสดงการบันทึกที่เหลือ:
นำเข้า java.sql * .; SQLiteJDBC เรียนสาธารณะ { ประชาชนเป็นโมฆะคง main (String args []) { การเชื่อมต่อ c = null; งบ stmt = null; try { Class.forName ( "org.sqlite.JDBC"); c = DriverManager.getConnection ( "JDBC: SQLite: test.db"); c.setAutoCommit (false); System.out.println ( "เปิดฐานข้อมูลเรียบร้อยแล้ว"); stmt = c.createStatement (); สตริง SQL = "ลบออกจาก บริษัท ที่ id = 2;"; stmt.executeUpdate (SQL); c.commit (); RS ResultSet = stmt.executeQuery ( "SELECT * จาก บริษัท "); ในขณะที่ (rs.next ()) { int id = rs.getInt ( "id"); ชื่อ String = rs.getString ( "ชื่อ"); อายุ int = rs.getInt ( "อายุ"); ที่อยู่ String = rs.getString ( "ที่อยู่"); ลอยเงินเดือน = rs.getFloat ( "เงินเดือน"); System.out.println ( "id =" + ID); System.out.println ( "NAME =" ชื่อ +); System.out.println ( "AGE =" + อายุ); System.out.println ( "ที่อยู่ =" + อยู่); System.out.println ( "เงินเดือน =" + เงินเดือน); System.out.println (); } rs.Close (); stmt.close (); c.close (); } catch (ยกเว้น E) { System.err.println (e.getClass () getName () + ":". + e.getMessage ()); System.exit (0); } System.out.println ( "การดำเนินการทำสำเร็จ"); } }
เมื่อโปรแกรมดังกล่าวข้างต้นจะรวบรวมและดำเนินการจะผลิตผลต่อไปนี้:
ฐานข้อมูลเปิดประสบความสำเร็จ ID = 1 NAME = พอล อายุ = 32 ADDRESS = แคลิฟอร์เนีย เงินเดือน = 25,000.0 ID = 3 NAME = เท็ดดี้ อายุ = 23 ADDRESS = นอร์เวย์ เงินเดือน = 20,000.0 ID = 4 NAME = มาร์ค อายุ = 25 ADDRESS = รวย-Mond เงินเดือน = 65,000.0 การดำเนินงานที่ทำสำเร็จ