如何使用 JDBC 程序连接到 SQLite 数据库?

jdbcobject oriented programmingprogrammingjava 8

答:SQLite 是一个进程内库,它实现了一个自包含、无服务器、零配置、事务性 SQL 数据库引擎。它是一个零配置的数据库,这意味着像其他数据库一样,您不需要在系统中对其进行配置。

SQLite 引擎不像其他数据库那样是一个独立的进程,您可以根据您的需求将其静态或动态地链接到您的应用程序。 SQLite 直接访问其存储文件。

连接 SQLite 数据库的 URL 是 jdbc:sqlite:test.db,连接到它的驱动程序类名称是 org.sqlite.JDBC

继续示例之前:

  • 从 sqlite-jdbcrepository 下载最新版本的 sqlite-jdbc-(VERSION).jar。

  • 将下载的 jar 文件 sqlite-jdbc-(VERSION).jar 添加到类路径中,或者您可以将其与 -classpath 选项一起使用,如以下示例中所述。

示例

假设 SQLite 数据库中有一个名为 employee_data 的表,其中包含 4 条记录,如下所示:

ID      NAME       AGE    ADDRESS     SALARY
------- -------- ------- ---------- ----------
1        Paul       32   California   20000.0
2        Allen      25   Texas        15000.0
3        Teddy      23   Norway       20000.0
4        Mark       25   Richmond     65000.0

以下 JDBC 程序与 SQLite 数据库建立连接,检索名为 employee_data 的表的内容并显示它。

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class ConnectToSQLite {
   public static void main(String[] args) throws Exception {
      //注册驱动程序
      DriverManager.registerDriver(new org.sqlite.JDBC());
      //获取连接
      String url = "jdbc:sqlite:test.db";
      Connection con = DriverManager.getConnection(url, "root", "password");
      System.out.println("Connection established......");
      //查询以检索记录
      String query = "Select * from employee_data";
      //执行查询
      ResultSet rs = stmt.executeQuery(query);
      System.out.println("Contents of the employee_data table:");
      while(rs.next()) {
         System.out.print("ID: "+rs.getInt("ID")+", ");
         System.out.print("Name: "+rs.getString("Name")+", ");
         System.out.print("Age: "+rs.getInt("Age")+", ");
         System.out.print("Salary: "+rs.getInt("Salary")+", ");
         System.out.print("Address: "+rs.getString("Address"));
         System.out.println();
      }
   }
}

输出

Connections established......
Contents of the employee_data table:
ID: 1, Name: Paul, Age: 32, Salary: 20000, Address: California
ID: 2, Name: Allen, Age: 25, Salary: 15000, Address: Texas
ID: 3, Name: Teddy, Age: 23, Salary: 20000, Address: Norway
ID: 4, Name: Mark, Age: 25, Salary: 65000, Address: Rich-Mond

相关文章