Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java HikariCP地址规范和文档_Java_Mysql_Sqlite_Jdbc_Hikaricp - Fatal编程技术网

Java HikariCP地址规范和文档

Java HikariCP地址规范和文档,java,mysql,sqlite,jdbc,hikaricp,Java,Mysql,Sqlite,Jdbc,Hikaricp,所以,在搜索了谷歌和Github的答案后,我对大多数人如何使用HikariCP感到困惑。我似乎找不到任何关于HikariCP的直接文档 我的问题是:在没有JDBCURL的情况下,如何指定主机地址?Github上的声明明确指出,JDBCURL规范是可选的,只需使用HikariConfigsetDataSourceClassNameString即可。然而,我当时很困惑,我将如何指定我的地址,我似乎在任何地方都找不到答案。与SQLite一样,我应该在哪里指定数据库文件的路径 这是我目前拥有的代码: f

所以,在搜索了谷歌和Github的答案后,我对大多数人如何使用HikariCP感到困惑。我似乎找不到任何关于HikariCP的直接文档

我的问题是:在没有JDBCURL的情况下,如何指定主机地址?Github上的声明明确指出,JDBCURL规范是可选的,只需使用HikariConfigsetDataSourceClassNameString即可。然而,我当时很困惑,我将如何指定我的地址,我似乎在任何地方都找不到答案。与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。但是,如何在不使用JDBCURL的情况下做到这一点


感谢您的帮助。

当您使用DataSource样式而不是URL样式配置时,所有DataSource属性都转换为DataSource类上的setter。因此,由于您似乎正在使用,该类上的各种设置器才是相关的

下面的示例不仅设置了数据源的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);
数据源样式更可取的原因有两个:

使用反射可以确保属性名称中的任何键入都会导致失败。然而,驱动程序通常会忽略在JDBCURL本身中指定了拼写错误的属性。 当指定了大量属性时,JDBC URL连接字符串可能会非常长(对于某些驱动程序来说是几百个字符),这使得读取/理解实际设置的属性非常麻烦。
您链接到的页面是文档,以及也从该页面链接的wiki。但是,您的问题不清楚,似乎需要外部资源,而且范围太广,因为除了询问如何在SQLite中使用它之外,您还可以立即询问性能提示等。请编辑您的问题,将重点放在一个特定的问题上,例如,展示在没有HikariCP的情况下如何配置连接。感谢您提供的提示。这是我关于StackOverflow的第一个问题,我试图回答我所有的问题。在我的链接是文件的情况下,它似乎是相对缺乏;虽然下面的问题告诉我,我需要更多地了解具体的驱动因素。你不应该试图把所有问题都放在一个问题上,集中在一个问题上的问题会得到更好的答案。至于文档,HikariCP有很好的文档,或者至少我见过更糟的,它不能解决所有问题,尤其是当涉及到如何配置来自其他驱动程序的内容时。哈哈,是的,我现在意识到我应该多问一些有针对性的问题,而不是几个问题。另外,我所说的相对缺乏的意思是,大部分文档都留给了驱动程序本身。我现在确实意识到我应该看看具体的驱动程序文档。感谢您的帮助:所以我确实需要指定一种JDBCURL,而不仅仅是地址。谢谢你的回答;它实际上彻底地回答了我所有的问题,即使它不是故意的。一些驱动程序有设置器,比如数据库名、主机、端口等,而不是URL。SQLite没有。这完全取决于数据源实现。