Java教程中提到了通过JDBC连接数据库的两种方式:使用DriverManager类(旧版,不推荐)和使用DataSource类。
我了解如何使用DriverManager进行连接:
Connection con = DriverManager.getConnection("jdbc:sqlite:mytest.db");
...
但我找不到如何通过JDBC使用SQLite的DataSource。 SQLite(或其JDBC驱动程序提供者,我不知道如何正确称呼它)是否支持使用DataSource?
我正在使用xerial/sqlite-jdbc驱动程序从Java中使用SQLite(https://github.com/xerial/sqlite-jdbc)。
我最好的猜测是我应该使用org.sqlite.SQLiteDataSource类(它在sqlite-jdbc-3.15.1.jar中为Xerial sqlite-jdbc驱动程序提供),但是如何使用?这样做的方法也许在Xerial驱动程序文档中,但他们只提供了如何使用DriverManager连接的示例。
因此,我请求有经验的人确认this Xerial driver/jar是否支持DataSource语法,或者给出如何使用的示例,或者建议其他支持DataSource的驱动程序(用于Java的SQLite),或者提供建议...
JDBC驱动管理器 — JDBC DriverManager类定义了能够将Java应用程序连接到JDBC驱动程序的对象。DriverManager一直是JDBC架构的支柱。它非常小而简单。
标准扩展包javax.naming和javax.sql让您使用在Java命名和目录接口(JNDI)命名服务中注册的DataSource对象来与数据源建立连接。您可以使用任何一种连接机制,但尽可能使用DataSource对象是推荐的。
ds.setUrl("jdbc:sqlite:/path/to/table.sqlite");
来使其与我的数据库配合工作。 - dreuads.setDatabaseName("/path/to/table.sqlite");
对你没有起作用吗? - Gord Thompson