搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
码创造者
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
Git | Git入门,成为项目管理大师(一)_git 的作者
2
Flink消费pubsub问题_flink pubsubsource
3
【原创】JavaWeb仓库管理系统(Web仓库管理系统毕业设计)_java仓库管理系统
4
java.io.FileNotFoundException: java.io.FileNotFoundException: HADOOP_HOME and hadoop.home.dir are un_windows java.io.filenotfoundexception: java.io.fil
5
程序员的浪漫——给她专属的圣诞树_程序员给树命名
6
使用Llamafile在本地运行LLM模型_tinyllama本地运行
7
C语言数据结构——快速排序和归并排序_c语言数据结构快速排序
8
HTML5 音频 Audio 标签详解_h5 audio标签
9
Flink实现kafka到kafka、kafka到doris的精准一次消费_flink kafka doris
10
存在 ZooKeeper 未授权访问【原理扫描】--通过防火墙策略进行修复
当前位置:
article
> 正文
流行开源数据库hsql_数据库操作开源jar
作者:码创造者 | 2024-07-27 10:56:47
赞
踩
数据库操作开源jar
前言:该文章只是简单介绍一下hsql的入门内容,如果想仔细了解的话,参考官方帮助文档最为有用。
修正添加了第四点。
一、简介:
hsql数据库是一款纯Java编写的免费数据库,许可是BSD-style的协议,如果你是使用Java编程的话,不凡考虑一下使用它,相对其他数据库来说,其体积小,才563kb。仅一个hsqldb.jar文件就包括了数据库引擎,数据库驱动,还有其他用户界面操作等内容。在Java开源世界里,hsql是极为受欢迎的(就Java本身来说),JBoss应用程序服务器默认也提供了这个数据库引擎。由于其体积小的原因,又是纯Java设计,又支持SQL99,SQL2003大部分的标准,所以也是作为商业应用程序展示的一种选择。请到以下地址下载hsql:
http://prdownloads.sourceforge.net/hsqldb/
二、使用hsql数据库:
1、hsql数据库引擎有几种服务器模式:常用的Server模式、WebServer模式、Servlet模式、Standlone模式、Memory-Only数据库。
2、最为常用的Server模式:
1)首先却换到lib文件夹下,运行java -cp hsqldb.jar org.hsqldb.Server -database.0 db/mydb -dbname.0 xdb
执行命令后,将会在db文件夹下创建一个数据库mydb,别名(用于访问数据库)是xdb,如果存在mydb数据库,将会打开它。
2)运行数据库界面操作工具:java -cp hsqldb.jar org.hsqldb.util.DatabaseManager
在Type选项里选上相应的服务器模式,这里选择HSQL Database Engine Server模式;Driver不用修改;URL修改为jdbc:hsqldb:hsql://localhost/xdb (主要这里xdb就是上面我们设置的别名);user里设置用户名,第一次登录时,设置的是管理员的用户名,password设置密码。然后点击Ok。
3)第一次运行数据库引擎,创建数据库完毕。好了,你可以打开db文件夹,会发现里面多了几个文件。
mydb.properties文件:是关于数据库的属性文件。
mydb.script:hsql主要保存的表(这里按hsql的说法是Memory表,就是最为常用的),里面的格式都是文本格式,可以用文本查看,里面的语句都是sql语句,熟悉sql语句的话,你也可以手动修改它。每次运行数据库引擎的话都是从这里加载进内存的。
mydb.lck表示数据库处于打开状态。
其他的请参看hsqldb包里的手册。
3、WebServer模式和Server运行模式基本一样,只是支持了Http等协议,主要用于防火墙,默认端口是9001。启动Server,java -cp hsqldb.jar org.hsqldb.WebServer ...剩余的和上面的一致。
4、Servlet模式可以允许你通过Servlet容器来访问数据库,请查看
hsqlServlet.java的源代码,和WebServer类似。
5、另一个值得思考的模式是
Standalone模式:不能通过网络来访问数据库,主要是在一个JVM中使用,那样的话,访问的速度会更加快。虽然文档里面提到主要是用于开发时使用,但是我们可以假设一下,该方法不需要一个引擎类的东西,而类似于打开文件的方式,返回一个Connection对象:
Connection c = DriverManager.getConnection("jdbc:hsqldb:file:mydb", "sa", "");
将会在当前目录找到mydb数据库相关文件,打开并返回一个Connection对象。该方式有点好处就是可以不使用引擎,在需要的时候操作数据。所以那些对数据库不是特别有要求的,但又需要一个操作数据库的方式的话,可以使用这种方法。对于那些不想额外在数据库引擎花费金钱的话,可以使用这种方法。但是不推荐使用该方法。记得Hibernate里SessionFactory可以使用openSession(Connecttion c)来获得一个Session对象的,因此,在测试或者实际应用的话都可以这样使用。
6、Memory-Only 数据库:顾名思义,主要是内存中使用,不用于保存数据。可以用于在内存中交换数据。
三、具体的链接与操作的话,和一般的JDBC操作一样。而相应的Server模式的话,连接地址主要你运行数据库界面操作工具时,在URL一栏时默认已经设好了,自己实习一下,对比其中参数。
四、实例:
在Windows下使用:
由于我们经常使用的是hibernate等orm工具作为数据层,所以很多时候对底层的sql都不再关注。通常我们都交由hibernate等工具来替我们管理数据库连接等内容,经常我们只需要学会运行数据库就足够了。
为了简化操作,我们可以创建一个bat脚本(runhsql.bat)该脚本只需要和hsql.jar在一起,我们通常使用的是server模式:
(1)runhsql.bat的内容:
start java -cp hsqldb.jar org.hsqldb.Server
(2)server.properties
server.database.0=db/appfuse1
server.dbname.0=appfuse1
server.database.1=db/appfuse2
server.dbname.1=appfuse2
运行runhsql.bat之后,将会在db文件夹下创建两个数据库文件,别名为appfuse1和appfuse2
相应的例子:hibernate.xml文件简单配置:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="hibernate.connection.driver_class">org.hsqldb.jdbcDriver</property>
<property name="hibernate.connection.url">jdbc:hsqldb:hsql://localhost/appfuse1</property>
<property name="hibernate.connection.username">sa</property>
<property name="hibernate.dialect">org.hibernate.dialect.HSQLDialect</property>
<property name="show_sql">true</property>
<!-- Enable Hibernate's automatic session context management -->
<property name="current_session_context_class">thread</property>
<!-- Drop and re-create the database schema on startup -->
<property name="hbm2ddl.auto">create</property>
</session-factory>
</hibernate-configuration>
对这篇文章有什么问题的话,请留言给作者。作者联系地址:
Sidney.J.Yellow@gmail.com
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/码创造者/article/detail/889914
推荐阅读
article
AI
学习手册_
ai
基础知识
...
所谓多模态(Multimodal),是指同时处理和理解多种类型数据的技术,这里的数据类型包括文本、图像、音频、视频等等。...
赞
踩
article
Python
与
OpenCV
:
图像处理
与
计算机
视觉实战指南_
python
opencv
项目...
Python
和
OpenCV
的结合为
图像处理
和
计算机
视觉领域提供了强大的工具。通过动手实践,你可以更好地理解这些概念并提高...
赞
踩
article
android
实现一键锁屏_no
active
admin
owned
by
uid
10114 f...
最近想写一个几件锁屏功能的
android
小程序,找了很多网上的例子,也看了SDK文档,几乎所有的代码都大同小异,但是有很...
赞
踩
article
sql
函数
--
09
--
-
REGEXP
_
sql
regexp
...
SQL中的正则表达式主要使用
REGEXP
或RLIKE关键词进行匹配Java 正则表达式。_
sql
regexp
sql
r...
赞
踩
article
【
医学
影像
】X86+
FPGA
:
支持
AI
医学
影像
设备
应用的工控主板,赋能CT
、
MRI
、
X线
、
超声等
医学
...
AI
医学
影像
是“医疗+
AI
”发展最为成熟的技术领域之一,计算机辅助诊断
、
AI
辅助治疗技术
、
AI
定量分析技术等技术加持,可...
赞
踩
article
CAV11
:
Existential
Quantification as
Incremental
S...
It use ALL
SAT
approach to perform existential quatification....
赞
踩
article
低
代码
开发
平台
的
优势及
应用
场景分析_
低
代码
平台
的
实际
应用
...
而近几年,经过
低
代码
的
快速发展,又衍生出一种新
的
概念,叫无
代码
开发
(No-code),无
代码
是在
低
代码
开发
平台
的
基础上提...
赞
踩
article
解决
ssh
:
connect
to
host
IP
port
22
:
Connection
time...
错误消息
ssh
:
connect
to
host
IP
port
22
:
Connection
timed out 指...
赞
踩
article
Unity
图片
纹理
的
压缩
格式详解_
unity
纹理
压缩
...
unity
图片
纹理
的
压缩
格式_
unity
纹理
压缩
unity
纹理
压缩
...
赞
踩
article
Python
最常用
的
7
个
框架
讲解!
_
python
框架
...
另外,Django最出名
的
是其全自动化
的
管理后台:只需要使用起ORM,做简单
的
对象定义,它就能自动生成数据库结构、以及全...
赞
踩
article
HarmonyOS
鸿蒙
开发
环境搭建_
harmony
liteos
开发
环境...
下载IDE,HUAWEI DevEco Studiohttps://developer.
harmony
os.com/cn...
赞
踩
article
MQL5
-
架构
和
类
以及界面_
mql5
struct
...
MQL5
-
架构
和
类
以及界面
架构
架构
是设定任何
类
型的元素(除了空型),因此,
架构
要组合不同
类
型的逻辑相关资料。
架构
说明以...
赞
踩
article
Apache
Nifi
常用
组件
介绍_前端
nifi
...
NiFi介绍
Apache
NiFi 是一个易于使用,功能强大且可靠的系统,用于处理和分发数据。可以自动化管理系统间的数据...
赞
踩
article
Rust
Web开发
actix
-
web
框架响应静态文件和
HTML
网页文件
_
actix
-
web
静态页...
【代码】
Rust
Web开发
actix
-
web
框架响应静态文件和
HTML
网页文件
。_
actix
-
web
静态页面acti...
赞
踩
article
江苏
科技
大学
考验
计算机
分数线
,
江苏
科技
大学
2021
考研
分数线
已公布...
关于公布
江苏
科技
大学
2021
年硕士研究生招生复试
分数线
的公告根据教育部《
2021
年全国硕士研究生招生考试考生进入复试的初...
赞
踩
article
LMDeploy
量化
部署
LLM
实践_
lmdeploy
tensor
-llm...
支持多模态模型:这一节内容其实比较简单,需要理解的知识点都是LMdeploy
部署
有关,更多的是希望同学们能够感受到LMd...
赞
踩
article
CodeWave
系列:5.
CodeWave
智能
开发
平台
逻辑
功能
实现...
前一节我们学习了模型的构建以及应用,通过前面的学习,我们已经可以使用
CodeWave
进行简单的表单的构建,本节我们将学习...
赞
踩
article
渗透
工具
sqlmap
下载安装
超详细教程
Windows
...
渗透
工具
sqlmap
下载安装
超详细教程
Windows
_
sqlmap
下载
sqlmap
下载 ...
赞
踩
article
git
常用命令
git
log
查看提交历史_
git
log
只
显示
commitid
...
【代码】
git
常用命令
之
log
。_
git
log
只
显示
commitid
git
log
只
显示
commitid
...
赞
踩
article
海选
科研
工具_
the
brain
类似
软件
...
荀子在《劝学篇》中讲到,”“。在生活中,善用各种工具能够极大的提高我们的效率,在
科研
工作中亦是如此。今天给大家介绍在科学...
赞
踩
相关标签
人工智能
计算机视觉
python
opencv
android
调试
一键锁屏
No active admin owne
sql
数据库
mysql
信号处理
fpga开发
sorting
network
低代码
ssh
tcp/ip
网络
unity
java
Apache NiFi
前端
rust