Java Tutorial说有两种方法可以通过JDBC连接数据库:使用DriverManager类(旧的,不推荐使用)和使用DataSource类.
我不知道如何使用DriverManager做到这一点:
Connection con = DriverManager.getConnection("jdbc:sqlite:mytest.db");
...
Run Code Online (Sandbox Code Playgroud)
但我找不到如何通过JDBC使用DataSource for SQLite.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进行连接的示例.
所以我要求大师的帮助确认这个 Xerial驱动程序/ jar不支持DataSource语法,或者举例说明如何做,或者建议使用DataSource支持替代驱动程序(对于Java中的SQLite),或者建议否则...
JDBC驱动程序管理器 - JDBC DriverManager类定义可以将Java应用程序连接到JDBC驱动程序的对象.DriverManager传统上一直是JDBC架构的支柱.它非常小而且简单.
标准扩展包javax.naming和javax.sql允许您使用在Java命名和目录接口(JNDI)命名服务中注册的DataSource对象来建立与数据源的连接.您可以使用任一连接机制,但建议尽可能使用DataSource对象.
在这个错误报告中,Doug Lea写道(指的是JDK 5.0的预发布版本):
虽然
CopyOnWriteArraySet声明Cloneable,它没有界定公共clone方法.
但它最终会CopyOnWriteArraySet完全没有实现Cloneable接口!(在Java SE 6,7和8中都是如此)
如何CopyOnWriteArraySet从不同的CopyOnWriteArrayList关于克隆?有没有人想要克隆它?
PS我明白clone()不推荐这CopyOnWriteArraySet是基于CopyOnWriteArrayList内部的.