因此,在搜索了Google和Github的答案之后,我对大多数人如何使用HikariCP感到困惑。我似乎无法在HikariCP上找到任何直接的文档。
我的问题是:如何在没有JDBC URL的情况下指定主机地址? Github上的main page of HikariCP清楚地表明JDBC URL规范是可选的,而只是简单地使用HikariConfig #setDataSourceClassName(String)。但是,我对如何指定地址感到困惑,我无法在任何地方找到答案。与SQLite一样,我在哪里指定数据库文件应该到达的路径?
这是我目前的代码:
final HikariConfig hikariConfig = new HikariConfig();
hikariConfig.setPoolName("SQLite");
hikariConfig.setDataSourceClassName("org.sqlite.SQLiteDataSource");
HikariDataSource ds = new HikariDataSource(hikariConfig);
如果我不使用HikariCP,我只需指定JDBC URL,如下所示:
jdbc:sqlite:path/to/database.db
。但是,如何在不使用JDBC URL的情况下执行此操作?
感谢您的帮助。
答案 0 :(得分:1)
当您使用DataSource样式而不是URL样式配置时,所有数据源属性都会转换为DataSource类上的setter。所以,既然你似乎在使用org.sqlite.SQLiteDataSource,那么该类上的各种setter就是相关的。
以下是不仅设置DataSource的URL,还设置日记帐模式并启用完整列名支持的示例。
final HikariConfig hikariConfig = new HikariConfig();
hikariConfig.setPoolName("SQLite");
hikariConfig.setDataSourceClassName("org.sqlite.SQLiteDataSource");
hikariConfig.addDataSourceProperty("url", "jdbc:sqlite:C:/work/mydatabase.db");
hikariConfig.addDataSourceProperty("journalMode", "WAL");
hikariConfig.addDataSourceProperty("fullColumnNames", "true");
HikariDataSource ds = new HikariDataSource(hikariConfig);
这个原因DataSource风格更好是双重的: