答: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