我掌握了创建HSQLDB服务器编程时使用org.hsqldb.server.Server
类是有用的。如何使用org.hsqldb.jdbc.JDBCConnection类HSQLDB API
我总是使用java SDK类(java.sql.Connection
)连接到服务器,我觉得它足以连接服务器是基于内存还是基于文件。
为什么我们需要org.hsqldb.jdbc.JDBCConnection
类HSQLDB API的?
我掌握了创建HSQLDB服务器编程时使用org.hsqldb.server.Server
类是有用的。如何使用org.hsqldb.jdbc.JDBCConnection类HSQLDB API
我总是使用java SDK类(java.sql.Connection
)连接到服务器,我觉得它足以连接服务器是基于内存还是基于文件。
为什么我们需要org.hsqldb.jdbc.JDBCConnection
类HSQLDB API的?
没有'class'java.sql.Connection
:它是一个接口。 JDBC是一个由接口(和一些支持类)组成的API。这些接口需要由每个JDBC驱动程序实现,以便能够执行任何操作。
当您使用HSQLDB,你使用它的实施java.sql.Connection
称为org.hsqldb.jdbc.JDBCConnection
;这包含了HSQLDB如何工作的细节(JDBC本身并不知道的东西)。但是通常你只需要通过JDBC中定义的接口访问它;这对于便携性来说甚至更好。
因此,简而言之,如果它不是org.hsqldb.jdbc.JDBCConnection
,您甚至不能连接到HSQLDB。
**实现与界面... **非常感谢! – Bll
我还没有HSQLDB很多,但API文档的工作似乎是你的问题的最佳来源。
的Class JDBCConnection文档说 -
JDBC 4.0注:
与JDBC 4.0(JDK 1.6),在DriverManager的方法 的getConnection和getDrivers已得到增强,支持Java 标准版服务开始提供者机制。当在支持JDBC 4.0在Java运行时 建,含 驱动程序实现HSQLDB分配罐还包括文件 META-INF /服务/ java.sql.Driver中。该文件包含了HSQLDB 实现java.sql.Driver中的完全 限定类名(“org.hsqldb.jdbc.JDBCDriver”)。
因此,在JDBC 4.0或更高版本下,应用程序不再需要使用Class.forName()显式地加载HSQLDB JDBC驱动程序 。在 当然,使用 Class.forName()加载JDBC驱动程序的现有程序将继续工作而不做任何修改。
所以我想你可以用标准化的代码继续。
该类可能有一些特定于HSQLDB的附加方法。
此外,你将不得不类型转换,如果计划使用这些特定的方法,
JDBCConnection connection =
(JDBCConnection) DriverManager.getConnection(url, connProperties);
关于你提到的其他问题,模式是 - <url>[;key=value]*
即你放一个分号后的URL,然后指定键 - 价值观格式为key=value
。每个key=value
需要用分号分隔。
例如jdbc:hsqldb:hsql://localhost/cities;user=bill;password=password
即您在追加键值对之前添加分号并且不添加最后一个键值对的分号。
感谢AmitK编辑问题! – Bll
感谢Mrak编辑我的问题! – Bll