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


A. 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 {
      //Registering the Driver
      DriverManager.registerDriver(new org.sqlite.JDBC());
      //Getting the connection
      String url = "jdbc:sqlite:test.db";
      Connection con = DriverManager.getConnection(url, "root", "password");
      System.out.println("Connection established......");
      //Query to retrieve records
      String query = "Select * from employee_data";
      //Executing the query
      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

更新于: 2019-07-30

1K+ 浏览量

启动您的 职业生涯

通过完成课程获得认证

开始学习
广告