我编写了一个连接器类来连接到HSLDB。
这是我的代码:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import org.apache.log4j.Logger;
public class hsqlmanager {
private static final Logger log = Logger.getLogger(hsqlmanager.class);
private static Connection con=null;
private static void openConnection(){
try {
Class.forName("org.hsqldb.jdbcDriver" );
log.info("Loaded JDBC Driver");
}
catch (Exception e) {
log.error("ERROR: failed to load JDBC driver - " + e.getMessage());
return;
}
try {
con = DriverManager.getConnection("jdbc:hsqldb:hsql://localhost/sepm_db","sa","");
}
catch(SQLException e){
log.error(e.getMessage());
}
}
public static void closeConnection() {
try {
con.close();
}
catch(SQLException e) {
log.error(e.getMessage());
}
}
public static Connection getConnection() {
if (con==null){
openConnection();
}
else {
try {
if(con.isClosed()){
con = DriverManager.getConnection("jdbc:hsqldb:hsql://localhost/sepm_db","sa","");
}
}
catch(SQLException e){
log.error(e.getMessage());
return null;
}
}
return con;
}
}
当我编译时,我收到错误:无法加载JDBC驱动程序 - org.hsqldb.jdbcDriver。为什么?
你需要下载 hsqldb 并在类路径中给出它。驱动程序位于 zip 文件中。
尝试在pom中遵循依赖项配置.xml(相应地更改版本号)
<dependency>
<groupId>org.hsqldb</groupId>
<artifactId>hsqldb</artifactId>
<classifier>jdk8</classifier>
<version>2.6.1</version>
</dependency>
对我来说,添加分类器行解决了一个问题。请参阅以下 hsqldb 存储库中的建议。https://sourceforge.net/p/hsqldb/bugs/1644/