访问 HyperSQL 数据库的方法

简介: 通常来说 JDBC 可以访问所有的数据库。JDBC 通常只用于连接数据库,当 JDBC 完成数据库连接后,将会使用 java.sql.Connection 对象提供的一系列方法来返回访问的数据。

通常来说 JDBC 可以访问所有的数据库。

JDBC 通常只用于连接数据库,当 JDBC 完成数据库连接后,将会使用 java.sql.Connection 对象提供的一系列方法来返回访问的数据。

访问 HyperSQL 使用的是 JDBC, 但是针对数据库特性的不同而采用不同的连接字符串。

例如:如果数据库为 file:database 类型,数据被命名为 "testdb"。同时这个数据库文件与你发布的应用程序在相同的目录下,你可以使用下面的代码来创建一个数据库连接:

Connection c = DriverManager.getConnection("jdbc:hsqldb:file:testdb", "SA", "");

数据库文件的路径格式可以在 Windows 和 Linux 下 用反斜杠来指定。

因此在相同磁盘路径下相对路径和绝对路径便可以用上面的方法进行识别。

例如,如果你的数据库路径在 Linux 下为 /opt/db/testdb ,同时你在 Windows 的 C 盘下创建了相同的目录结构,你可以在 Windows 和 Linux 下使用相同的连接字符串如下:

Connection c = DriverManager.getConnection("jdbc:hsqldb:file:/opt/db/testdb", "SA", "");

当使用相对路径的时候,这个路径指向为相对但却 JVM 运行时的路径。请参考 JDBCConnection 的 API 文档来获得更多的内容。

路径名与数据库文件名在数据库和连接被第一次被创建的时候按照大小写敏感的方式命名的。

但是,如果在随后使用其他连接来连接一个已经打开的数据库的时候,如果你使用了全部大写的连接字符串,那么你也会连到已经打开的这个数据库。换句话说,第二次的连接和第一次的连接是等效的。

这种考虑方式是很有必要的,因为 Windows 在路径上是大小写不敏感的。

一个 mem: 数据库,会用关键字 mem: 来进行定义的。对于 mem: 数据库而言,其路径仅仅是其名字。一些 mem: 数据库可以与其名字同时显式存在。

在下面的例子中,数据库被称为 "mymemdb":

Connection c = DriverManager.getConnection("jdbc:hsqldb:mem:mymemdb", "SA", "");

res: 数据库采用 res: 关键字。这个方式的数据库为一个 Java 的资源文件,数据库的路径为 Java 路径 (与 class 的路径一样)。在下面的例子中, "resdb" 是数据库文件的在 class 目录 "org/ my/path" 下的根节点。一个 Java 资源存储的是一个压缩格式,当其在调用的时候,将会在内存中解压。

因为这个原因 res: 数据库不能存储大量数据同时永远是只读的。

Connection c = DriverManager.getConnection("jdbc:hsqldb:res:org.my.path.resdb", "SA", "");

在第一次进行数据库访问的时候,将会创建一个数据库,一些基本数据结构将会被初始化,一些辅助线程也会被启动。

当这些完成以后,一些 Java 应用程序将会用 JDBC 进行连接的调用。

当 SQL 命令 "SHUTDOWN" 被执行,全局数据结构和辅助线程将会被销毁。

注: 只有一个 Java 进程可以访问数据库 file: 。如果 file: 数据库为只读类型的数据库,或者创建的是一个 res: 数据库,有可能从 Java 进程中创建多个连接。

目录
相关文章
|
5月前
|
SQL Java 数据库连接
除了JDBC,还有哪些常见的数据库访问技术?
除了JDBC,还有哪些常见的数据库访问技术?
485 2
|
9月前
|
人工智能 运维 关系型数据库
数据库运维:mysql 数据库迁移方法-mysqldump
本文介绍了MySQL数据库迁移的方法与技巧,重点探讨了数据量大小对迁移方式的影响。对于10GB以下的小型数据库,推荐使用mysqldump进行逻辑导出和source导入;10GB以上可考虑mydumper与myloader工具;100GB以上则建议物理迁移。文中还提供了统计数据库及表空间大小的SQL语句,并讲解了如何使用mysqldump导出存储过程、函数和数据结构。通过结合实际应用场景选择合适的工具与方法,可实现高效的数据迁移。
1451 1
|
12月前
|
数据库
【YashanDB知识库】数据库一主一备部署及一主两备部署时,主备手动切换方法及自动切换配置
【YashanDB知识库】数据库一主一备部署及一主两备部署时,主备手动切换方法及自动切换配置
【YashanDB知识库】数据库一主一备部署及一主两备部署时,主备手动切换方法及自动切换配置
|
7月前
|
存储 关系型数据库 MySQL
MySQL数据库中进行日期比较的多种方法介绍。
以上方法提供了灵活多样地处理和对比MySQL数据库中存储地不同格式地日子信息方式。根据实际需求选择适当方式能够有效执行所需操作并保证性能优化。
679 10
|
8月前
|
SQL Oracle 关系型数据库
比较MySQL和Oracle数据库系统,特别是在进行分页查询的方法上的不同
两者的性能差异将取决于数据量大小、索引优化、查询设计以及具体版本的数据库服务器。考虑硬件资源、数据库设计和具体需求对于实现优化的分页查询至关重要。开发者和数据库管理员需要根据自身使用的具体数据库系统版本和环境,选择最合适的分页机制,并进行必要的性能调优来满足应用需求。
394 11
|
10月前
|
存储 算法 Java
实现不同数据库的表间的 JOIN 运算的极简方法
跨库计算是数据分析中的常见难题,尤其涉及多数据库系统时,表间 JOIN 操作复杂度显著提升。esProc 提供了一种高效解决方案,能够简化跨库 JOIN 的实现。例如,在车辆管理、交管和公民信息系统中,通过 esProc 可轻松完成如下任务:按城市统计有车公民事件数量、找出近一年获表彰的车主信息,以及按年份和品牌统计车辆违章次数。esProc 支持不同关联场景(如维表关联与主子表关联)的优化算法,如内存索引、游标处理和有序归并,从而大幅提升编码和运算效率。无论是同构还是异构数据源,esProc 均能灵活应对,为复杂数据分析提供强大支持。
|
11月前
|
Oracle 安全 关系型数据库
【Oracle】使用Navicat Premium连接Oracle数据库两种方法
以上就是两种使用Navicat Premium连接Oracle数据库的方法介绍,希望对你有所帮助!
2161 28
|
11月前
|
SQL 关系型数据库 MySQL
大数据新视界--大数据大厂之MySQL数据库课程设计:MySQL 数据库 SQL 语句调优方法详解(2-1)
本文深入介绍 MySQL 数据库 SQL 语句调优方法。涵盖分析查询执行计划,如使用 EXPLAIN 命令及理解关键指标;优化查询语句结构,包括避免子查询、减少函数使用、合理用索引列及避免 “OR”。还介绍了索引类型知识,如 B 树索引、哈希索引等。结合与 MySQL 数据库课程设计相关文章,强调 SQL 语句调优重要性。为提升数据库性能提供实用方法,适合数据库管理员和开发人员。
|
12月前
|
SQL 数据库连接 Linux
数据库编程:在PHP环境下使用SQL Server的方法。
看看你吧,就像一个调皮的小丑鱼在一片广阔的数据库海洋中游弋,一路上吞下大小数据如同海中的珍珠。不管有多少难关,只要记住这个流程,剩下的就只是探索未知的乐趣,沉浸在这个充满挑战的数据库海洋中。
372 16
|
存储 缓存 Java
java语言后台管理ruoyi后台管理框架-登录提示“无效的会话,或者会话已过期,请重新登录。”-扩展知识数据库中密码加密的方法-问题如何解决-以及如何重置若依后台管理框架admin密码-优雅草卓伊凡
java语言后台管理ruoyi后台管理框架-登录提示“无效的会话,或者会话已过期,请重新登录。”-扩展知识数据库中密码加密的方法-问题如何解决-以及如何重置若依后台管理框架admin密码-优雅草卓伊凡
1811 3
java语言后台管理ruoyi后台管理框架-登录提示“无效的会话,或者会话已过期,请重新登录。”-扩展知识数据库中密码加密的方法-问题如何解决-以及如何重置若依后台管理框架admin密码-优雅草卓伊凡