Latest web development tutorials

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

การดำเนินงานที่ทำสำเร็จ