- 浏览: 1925967 次
- 性别:
- 来自: 福建莆田@广州
文章分类
最新评论
-
YuLimin:
关于开发者版本费用等问题请见:Have questions? ...
IBM于2009.06.19推出开发者免费版WebSphere Application Server -
YuLimin:
1、传统WAS : WebSphere Application ...
IBM于2009.06.19推出开发者免费版WebSphere Application Server -
chenlei65368:
咋加啊,总司令
微信JavaEye老炮群的入群标准-2009年之前注册JavaEye的技术人员 -
kkllmey:
怎么进呢。留个群号吧。
微信JavaEye老炮群的入群标准-2009年之前注册JavaEye的技术人员 -
Mr.TianShu:
3792274
微信JavaEye老炮群的入群标准-2009年之前注册JavaEye的技术人员
可重用的 Hsqldb 启动、停止之 Ant 任务脚手架
在Eclipse里用Ant来启动Hsqldb
此时如果要停止 Hsqldb ,即点击红色按钮来 Terminate 掉它,实现上,Hsqldb的Java线程还是在后台运行的,它并没有真正结束。
判断的方法有四种:
1、再次运行 ant startdb 任务,会发现 db.lck 还被使用,而 <delete dir="${database.dir}"/> 删除不了,被前一个实例 Lock 住了。
Buildfile: xxx\build.xml
startdb:
[delete] Deleting directory xxx\database
BUILD FAILED
xxx\build.xml:88: Unable to delete file xxx\database\db.lck
2、利用JDK 5.0以上的版本中的 jps 来查看,即:
%JAVA_HOME%/bin/jps -lvm
你可以看到其中有如下的信息显示
<pid> org.hsqldb.Server -database.0 file:database/db
即表明它还是在运行当中。
3、netstat -a | find "9001"
TCP XXX:9001 XXX:0 LISTENING
发现 Hsqldb 默认的服务端口 9001 还在监听中。
4、再次运行你的数据库连接程序,程序运行正常,还是可以连接上去,并可以完全正常进行你的数据操作。
由上面的方法可见它还是在正常运行中,Eclipse里的红色按钮并没有真正 Terminate 掉它。
那如何真正停止掉它呢?同样也有几种方法。
1、利用 Ant 本身提供的 sql 任务,如下发送 SHUTDOWN [COMPACT|IMMEDIATELY] 命令过去就可以了,如下:
但是虽然这个可以让 Hsqldb Server 停止掉了,但是会报错误,build出现错误我是不能接受的,不知道你是否接受?
shutdowndb:
[echo] Ignore the message:'java.sql.SQLException: Connection is broken: java.io.EOFException', Don't care about it.
[sql] Executing commands
[sql] 0 rows affected
BUILD FAILED
xxx\build.xml:124: java.sql.SQLException: Connection is broken: java.io.EOFException
打开 verbose 选项看一看更加详细的信息:
shutdowndb:
[echo] Ignore the message:'java.sql.SQLException: Connection is broken: java.io.EOFException', Don't care about it.
[sql] connecting to jdbc:hsqldb:hsql://localhost/
[sql] Loading org.hsqldb.jdbcDriver using AntClassLoader with classpath xxx\lib\hsqldb.jar
BUILD FAILED
java.sql.SQLException: socket creation error
at org.apache.tools.ant.taskdefs.JDBCTask.getConnection(JDBCTask.java:314)
at org.apache.tools.ant.taskdefs.SQLExec.execute(SQLExec.java:346)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
at org.apache.tools.ant.Task.perform(Task.java:364)
at org.apache.tools.ant.Target.execute(Target.java:341)
at org.apache.tools.ant.Target.performTasks(Target.java:369)
at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1216)
at org.apache.tools.ant.Project.executeTarget(Project.java:1185)
at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:40)
at org.apache.tools.ant.Project.executeTargets(Project.java:1068)
at org.apache.tools.ant.Main.runBuild(Main.java:668)
at org.apache.tools.ant.Main.startAnt(Main.java:187)
at org.apache.tools.ant.launch.Launcher.run(Launcher.java:246)
at org.apache.tools.ant.launch.Launcher.main(Launcher.java:67)
Caused by: java.sql.SQLException: socket creation error
at org.hsqldb.jdbc.Util.sqlException(Unknown Source)
at org.hsqldb.jdbc.jdbcConnection.<init>(Unknown Source)
at org.hsqldb.jdbcDriver.getConnection(Unknown Source)
at org.hsqldb.jdbcDriver.connect(Unknown Source)
at org.apache.tools.ant.taskdefs.JDBCTask.getConnection(JDBCTask.java:304)
... 13 more
--- Nested Exception ---
java.sql.SQLException: socket creation error
at org.hsqldb.jdbc.Util.sqlException(Unknown Source)
at org.hsqldb.jdbc.jdbcConnection.<init>(Unknown Source)
at org.hsqldb.jdbcDriver.getConnection(Unknown Source)
at org.hsqldb.jdbcDriver.connect(Unknown Source)
at org.apache.tools.ant.taskdefs.JDBCTask.getConnection(JDBCTask.java:304)
at org.apache.tools.ant.taskdefs.SQLExec.execute(SQLExec.java:346)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
at org.apache.tools.ant.Task.perform(Task.java:364)
at org.apache.tools.ant.Target.execute(Target.java:341)
at org.apache.tools.ant.Target.performTasks(Target.java:369)
at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1216)
at org.apache.tools.ant.Project.executeTarget(Project.java:1185)
at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:40)
at org.apache.tools.ant.Project.executeTargets(Project.java:1068)
at org.apache.tools.ant.Main.runBuild(Main.java:668)
at org.apache.tools.ant.Main.startAnt(Main.java:187)
at org.apache.tools.ant.launch.Launcher.run(Launcher.java:246)
at org.apache.tools.ant.launch.Launcher.main(Launcher.java:67)
也就是说在执行 SHUTDOWN 命令后,
org.apache.tools.ant.taskdefs.JDBCTask.getConnection(JDBCTask.java:314) 还去 getConnection,那肯定就出错了。
2、自己写个简单的 Ant 脚本来关闭它
ShutdownTask.java
编译 javac -classpath %ANT_HOME%/lib/ant.jar ShutdownTask.java
打包 jar cvf ShutdownTask.jar *.*
把 ShutdownTask.jar 直接放到项目的lib目录下,下面的示例 classpath 我直接引入到 hsqldb.classpath中,可以根据需要放到项目的不同地方再进行调整引入使用等等。。。:)
build.xml里的调用示例,爱怎么用就怎么用,提供好几个示例。
3、就在直接在命令行下运行 ant startdb ,然后 Ctrl + C 直接干掉它就可以。
如启动时的提示:From command line, use [Ctrl]+[C] to abort abruptly
补充
OS:Windows 2K Pro SP4 English
ant -version
Apache Ant version 1.6.5 compiled on June 2 2005
JDK 1.4.2 1.5.0 1.6.0 1.7.0都可以。。。
最后,如何使用它呢?
在其它项目中只要相应地 import 这个 build.xml 这个文件即可达到重用,如:新项目与这个项目并行,即
也可以建立 build.properties 资源文件来配置一些信息等等。。。
附上完整的 build.xml 与 ShutdownTask.jar 以及 Eclipse项目文件,import 到 Eclipse 中,把 build.xml 拖到Ant视图里,直接就可以用了。
BTW:刚才从Word里拷贝过来提交,JavaEye的有BUG,现在重新修改了一下!!!
在Eclipse里用Ant来启动Hsqldb
<!-- Start the Hsqldb database server --> <targetname="dbstart"description="Start the Hsqldb database server"> <javaclassname="org.hsqldb.Server"fork="yes"classpathref="hsqldb.classpath"failonerror="true"> <argvalue="-database.0"/> <argvalue="file:${database.dir}/db"/> </java> </target>
此时如果要停止 Hsqldb ,即点击红色按钮来 Terminate 掉它,实现上,Hsqldb的Java线程还是在后台运行的,它并没有真正结束。
判断的方法有四种:
1、再次运行 ant startdb 任务,会发现 db.lck 还被使用,而 <delete dir="${database.dir}"/> 删除不了,被前一个实例 Lock 住了。
Buildfile: xxx\build.xml
startdb:
[delete] Deleting directory xxx\database
BUILD FAILED
xxx\build.xml:88: Unable to delete file xxx\database\db.lck
2、利用JDK 5.0以上的版本中的 jps 来查看,即:
%JAVA_HOME%/bin/jps -lvm
你可以看到其中有如下的信息显示
<pid> org.hsqldb.Server -database.0 file:database/db
即表明它还是在运行当中。
3、netstat -a | find "9001"
TCP XXX:9001 XXX:0 LISTENING
发现 Hsqldb 默认的服务端口 9001 还在监听中。
4、再次运行你的数据库连接程序,程序运行正常,还是可以连接上去,并可以完全正常进行你的数据操作。
由上面的方法可见它还是在正常运行中,Eclipse里的红色按钮并没有真正 Terminate 掉它。
那如何真正停止掉它呢?同样也有几种方法。
1、利用 Ant 本身提供的 sql 任务,如下发送 SHUTDOWN [COMPACT|IMMEDIATELY] 命令过去就可以了,如下:
<!-- Shutdown the Hsqldb database server via Ant sql Task --> <targetname="dbshutdown"description="Shutdown the Hsqldb database server via Ant sql Task"> <echomessage="Ignore the message:'java.sql.SQLException: Connection is broken: java.io.EOFException', Don't care about it."/> <sqldriver="org.hsqldb.jdbcDriver"url="jdbc:hsqldb:hsql://localhost/"userid="sa"password=""classpathref="hsqldb.classpath"onerror="stop"print="true"><![CDATA[ shutdown; ]]></sql> </target>
但是虽然这个可以让 Hsqldb Server 停止掉了,但是会报错误,build出现错误我是不能接受的,不知道你是否接受?
shutdowndb:
[echo] Ignore the message:'java.sql.SQLException: Connection is broken: java.io.EOFException', Don't care about it.
[sql] Executing commands
[sql] 0 rows affected
BUILD FAILED
xxx\build.xml:124: java.sql.SQLException: Connection is broken: java.io.EOFException
打开 verbose 选项看一看更加详细的信息:
shutdowndb:
[echo] Ignore the message:'java.sql.SQLException: Connection is broken: java.io.EOFException', Don't care about it.
[sql] connecting to jdbc:hsqldb:hsql://localhost/
[sql] Loading org.hsqldb.jdbcDriver using AntClassLoader with classpath xxx\lib\hsqldb.jar
BUILD FAILED
java.sql.SQLException: socket creation error
at org.apache.tools.ant.taskdefs.JDBCTask.getConnection(JDBCTask.java:314)
at org.apache.tools.ant.taskdefs.SQLExec.execute(SQLExec.java:346)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
at org.apache.tools.ant.Task.perform(Task.java:364)
at org.apache.tools.ant.Target.execute(Target.java:341)
at org.apache.tools.ant.Target.performTasks(Target.java:369)
at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1216)
at org.apache.tools.ant.Project.executeTarget(Project.java:1185)
at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:40)
at org.apache.tools.ant.Project.executeTargets(Project.java:1068)
at org.apache.tools.ant.Main.runBuild(Main.java:668)
at org.apache.tools.ant.Main.startAnt(Main.java:187)
at org.apache.tools.ant.launch.Launcher.run(Launcher.java:246)
at org.apache.tools.ant.launch.Launcher.main(Launcher.java:67)
Caused by: java.sql.SQLException: socket creation error
at org.hsqldb.jdbc.Util.sqlException(Unknown Source)
at org.hsqldb.jdbc.jdbcConnection.<init>(Unknown Source)
at org.hsqldb.jdbcDriver.getConnection(Unknown Source)
at org.hsqldb.jdbcDriver.connect(Unknown Source)
at org.apache.tools.ant.taskdefs.JDBCTask.getConnection(JDBCTask.java:304)
... 13 more
--- Nested Exception ---
java.sql.SQLException: socket creation error
at org.hsqldb.jdbc.Util.sqlException(Unknown Source)
at org.hsqldb.jdbc.jdbcConnection.<init>(Unknown Source)
at org.hsqldb.jdbcDriver.getConnection(Unknown Source)
at org.hsqldb.jdbcDriver.connect(Unknown Source)
at org.apache.tools.ant.taskdefs.JDBCTask.getConnection(JDBCTask.java:304)
at org.apache.tools.ant.taskdefs.SQLExec.execute(SQLExec.java:346)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
at org.apache.tools.ant.Task.perform(Task.java:364)
at org.apache.tools.ant.Target.execute(Target.java:341)
at org.apache.tools.ant.Target.performTasks(Target.java:369)
at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1216)
at org.apache.tools.ant.Project.executeTarget(Project.java:1185)
at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:40)
at org.apache.tools.ant.Project.executeTargets(Project.java:1068)
at org.apache.tools.ant.Main.runBuild(Main.java:668)
at org.apache.tools.ant.Main.startAnt(Main.java:187)
at org.apache.tools.ant.launch.Launcher.run(Launcher.java:246)
at org.apache.tools.ant.launch.Launcher.main(Launcher.java:67)
也就是说在执行 SHUTDOWN 命令后,
org.apache.tools.ant.taskdefs.JDBCTask.getConnection(JDBCTask.java:314) 还去 getConnection,那肯定就出错了。
2、自己写个简单的 Ant 脚本来关闭它
ShutdownTask.java
import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.sql.Statement; import org.apache.tools.ant.BuildException; import org.apache.tools.ant.Task; /** *ShutdownTask:AntTaskforshutdowntheHsqldbserver. * *@authorYuLimin */ publicclass ShutdownTask extends Task { // Defaut Value private String msg = "ShutdownTask"; private String driver = "org.hsqldb.jdbcDriver"; private String url = "jdbc:hsqldb:hsql://localhost/"; private String userid = "sa"; private String password = ""; private String sqlCommand = "SHUTDOWN"; public ShutdownTask() { super(); } /** *ForTest * *@paramargv *@throwsException */ publicstaticvoid main(final String[] argv) { final ShutdownTask shutdownTask = new ShutdownTask(); shutdownTask.shutdown(); } /** *Themethodexecutingthetask */ publicvoid execute() throws BuildException { System.out.println(msg + " Begin......"); System.out.println("Driver=" + getDriver()); System.out.println("URL=" + getUrl()); System.out.println("Userid=" + getUserid()); System.out.println("Password=" + getPassword()); System.out.println("SqlCommand=" + getSqlCommand()); shutdown(); System.out.println(msg + " End......"); System.out.println(); } /** *Shutdownthedatabase */ publicvoid shutdown() { Connection connection = null; Statement statement = null; try { Class.forName(getDriver()); connection = DriverManager.getConnection(getUrl(),getUserid(),getPassword()); statement = connection.createStatement(); statement.execute(getSqlCommand()); statement.close(); connection.close(); } catch(Exception e) { e.printStackTrace(); thrownew RuntimeException(e); } finally { if(statement != null) { try { statement.close(); } catch(SQLException e) { thrownew RuntimeException(e); } } if(connection != null) { try { connection.close(); } catch(SQLException e) { thrownew RuntimeException(e); } } } } // More accessor method : setter & getter publicvoid setMsg(final String msg) { this.msg = msg; } publicvoid setDriver(final String driver) { this.driver = driver; } publicvoid setPassword(final String password) { this.password = password; } publicvoid setUrl(final String url) { this.url = url; } publicvoid setUserid(final String userid) { this.userid = userid; } publicvoid setSqlCommand(final String sqlCommand) { this.sqlCommand = sqlCommand; } public String getDriver() { returndriver; } public String getPassword() { returnpassword; } public String getUrl() { returnurl; } public String getUserid() { returnuserid; } public String getSqlCommand() { returnsqlCommand; } public String getMsg() { returnmsg; } }
编译 javac -classpath %ANT_HOME%/lib/ant.jar ShutdownTask.java
打包 jar cvf ShutdownTask.jar *.*
把 ShutdownTask.jar 直接放到项目的lib目录下,下面的示例 classpath 我直接引入到 hsqldb.classpath中,可以根据需要放到项目的不同地方再进行调整引入使用等等。。。:)
build.xml里的调用示例,爱怎么用就怎么用,提供好几个示例。
<!-- Classpath declaration --> <pathid="hsqldb.classpath"> <filesetdir="${lib.dir}"> <includename="**/hsqldb.jar"/> <includename="**/ShutdownTask.jar"/> </fileset> </path> <!-- Shutdown the Hsqldb database server via ShutdownTask --> <targetname="dbshutdownTask"description="Shutdown the Hsqldb database server via ShutdownTask"> <!-- Define ShutdownTask --> <taskdefname="shutdownTask"classname="ShutdownTask"classpathref="hsqldb.classpath"/> <!-- Call ShutdownTask --> <!-- Default ShutdownTask, only like this --> <!-- <shutdownTask/> --> <!-- Sample MyShutdownTask --> <!-- <shutdownTask driver="org.hsqldb.jdbcDriver" url="jdbc:hsqldb:hsql://localhost/" userid="sa" password="" sqlCommand="SHUTDOWN" msg="MyShutdownTask"/> --> <!-- Sample MyShutdownTask SHUTDOWN COMPACT --> <!-- <shutdownTask driver="org.hsqldb.jdbcDriver" url="jdbc:hsqldb:hsql://localhost/" userid="sa" password="" sqlCommand="SHUTDOWN COMPACT" msg="MyShutdownTask"/> --> <!-- Sample MyShutdownTask SHUTDOWN IMMEDIATELY --> <shutdownTaskdriver="org.hsqldb.jdbcDriver"url="jdbc:hsqldb:hsql://localhost/"userid="sa"password=""sqlCommand="SHUTDOWN IMMEDIATELY"msg="MyShutdownTask"/> </target>
3、就在直接在命令行下运行 ant startdb ,然后 Ctrl + C 直接干掉它就可以。
如启动时的提示:From command line, use [Ctrl]+[C] to abort abruptly
补充
OS:Windows 2K Pro SP4 English
ant -version
Apache Ant version 1.6.5 compiled on June 2 2005
JDK 1.4.2 1.5.0 1.6.0 1.7.0都可以。。。
最后,如何使用它呢?
在其它项目中只要相应地 import 这个 build.xml 这个文件即可达到重用,如:新项目与这个项目并行,即
<?xml version="1.0" encoding="utf-8"?> <projectname="JPA_OtherProject"default="compile"basedir="."> <import file="../Common/build.xml" /> ......
也可以建立 build.properties 资源文件来配置一些信息等等。。。
附上完整的 build.xml 与 ShutdownTask.jar 以及 Eclipse项目文件,import 到 Eclipse 中,把 build.xml 拖到Ant视图里,直接就可以用了。
BTW:刚才从Word里拷贝过来提交,JavaEye的有BUG,现在重新修改了一下!!!
- Hsqldb_Ant_Eclipse.rar (595.7 KB)
- 描述: Hsqldb_Ant_Eclipse
- 下载次数: 418
评论
3 楼
huozhe
2007-08-31
楼主写得太好了~
收藏了~ 谢谢!
收藏了~ 谢谢!
2 楼
YuLimin
2007-05-28
数据库别名是可加可不加的参数,因此我没有加上去:)
1 楼
spiritfrog
2007-05-28
不错,呵呵,试了一下效果。
但是源码build.xml中凡是url的地方都没有指明数据库名,不知道是不是漏掉了,像是这样类似的定义:
我自己加上之后跑就没有问题了。于是可能需要在dbstart任务里加上数据库别名:
但是源码build.xml中凡是url的地方都没有指明数据库名,不知道是不是漏掉了,像是这样类似的定义:
<shutdownTask driver="org.hsqldb.jdbcDriver" url="jdbc:hsqldb:hsql://localhost/" userid="sa" password="" sqlCommand="SHUTDOWN IMMEDIATELY" msg="MyShutdownTask"/>
我自己加上之后跑就没有问题了。于是可能需要在dbstart任务里加上数据库别名:
<!-- Start the Hsqldb database server --> <target name="dbstart" description="Start the Hsqldb database server"> <java classname="org.hsqldb.Server" fork="yes" classpathref="hsqldb.classpath" failonerror="true"> <arg value="-database.0"/> <arg value="file:${database.dir}/${db.name}"/> <!-- 这里加上数据库别名--> <arg value="-dbname.0"/> <arg value="${db.name}"/> </java> </target>
发表评论
-
如何并行启动WAS应用服务器?而不是按顺序启动?
2022-06-14 16:07 532如何并行启动WAS应用服务器?而不是按顺序启动? 登录ISC ... -
关于图片文件旋转JPEG与EXIF信息
2019-10-30 21:44 1092关于图片文件旋转JPEG与 ... -
通过Liberty存储库下载保存组件,再分发并离线安装之操作步骤
2019-07-05 16:17 1069通过Liberty存储库下载保存组件,再分发并离线安装之操作步 ... -
Effective Java Third Edition中文版勘误列表
2018-10-24 01:03 2294相关资源: Eclipse JDK 9 ... -
Effective Java Third Edition中文翻译术语表讨论专用贴
2018-10-24 00:44 2034在书正式出来之前,把术语表放出来讨论。 翻译时的原则: 1 ... -
工作生活运动都不误!KUNG攻公路自行车2018款Horizon装备之
2018-09-08 18:12 2200感谢贺总,感谢KUNG攻,接下来就是准备开始对飙轻量级自行车与 ... -
WAS 8.5在HP-UX Itanium上无法图形化安装启动IIM之解
2013-11-11 17:20 3058继之前写的“WAS 8.5在AIX上无法启动图形化概要管理工具 ... -
IBM WebSphere Application Liberty Profile苗条瘦身之道初探及剖析
2012-08-12 19:57 34791.1 背景信息 IBM WebSphere Applicat ... -
停止启用了安全性的WAS Server而不手动输入密码之第二种选择
2011-05-07 23:08 4764停止启用了安全性的WAS Server而不手动输入密码之第二种 ... -
IBM WebSphere Application Server V6.1 Fix Pack 37于2011.04.04发布
2011-04-05 14:25 1936IBM WebSphere Application Serve ... -
WAS证书过期替换之独立WAS Server之文字操作版
2010-12-31 20:32 5861WAS证书过期替换之独立WAS Server之文字操作版 一 ... -
WAS证书过期替换之DM + NodeAgent + WAS Server网络拓扑结构之文字操作版
2010-12-31 20:28 3196WAS证书过期替换之DM + No ... -
通过配置文件来修改WAS控制台Session过期时间的方法
2010-06-17 18:21 4769通过配置文件来修改WAS控制台Session过期时间的方法 ... -
Tomcat 7之无需JDK只需JRE与无需web.xm及J2SE 6.0之真实与谎言?
2010-06-14 18:48 4609Tomcat 7之无需JDK只需JRE与无需web.xm及J2 ... -
《程序员 Java天下事,2010.01 低碳时代之Java风云》8卜被退稿
2010-06-12 10:47 2607这一篇《程序员 Jav ... -
IBM WebSphere Application Server V6.1 Fix Pack 29于2010.01.18发布
2010-01-23 21:35 3220IBM WebSphere Application Serve ... -
IBM WebSphere Application Server V7.0 Fix Pack 7于2009.11.13发布
2009-11-18 18:11 1920IBM WebSphere Application Serve ... -
隆重推荐《冒号课堂——编程范式与OOP思想》
2009-10-26 18:37 4050背景信息: 冒号课堂的系列博客质量相当高,有订阅此博客的X ... -
IBM WebSphere Application Server V6.1 Fix Pack 27于2009.09.21发布
2009-10-10 11:50 1764IBM WebSphere Application Serve ... -
停个车真的不是一般的难ReentrantLock.lock之LockSupport.park
2009-07-17 16:41 3415今碰到一问题,原以为代码用上 ReentrantLock.lo ...
相关推荐
### JasperReports与Ant集成及HSQLDB服务启动详解 #### 一、JasperReports简介 JasperReports是一款功能强大的报表生成工具,它能够将丰富的数据内容以多种形式展示出来,包括但不限于屏幕显示、打印输出,或者...
HSQldb是一个轻量级的关系型...HSQldb的灵活性和易用性使其成为开发人员的首选数据库之一,特别是在快速迭代和测试环境中。其强大的特性,如内存数据库、自动创建数据库以及内置的管理工具,都极大地简化了数据库管理。
由于是纯Java,HSQLDB可以在任何Java平台上运行,无需安装,且体积小巧,适合快速启动和停止。 在Tomcat中集成HSQLDB,首先需要下载HSQLDB的JAR文件,如`hsqldb.jar`,并将其添加到Tomcat的`lib`目录下。这样做是...
HSQLDB可轻松与Spring框架、Hibernate等ORM工具集成,简化数据库操作。例如,使用Spring Data JPA,可以声明式地执行CRUD操作,提高开发效率。 **7. 源码分析** 由于HSQLDB是开源的,开发者可以深入研究其源码,...
在本文中,我们将深入探讨HSQldb的学习,包括数据库的创建、启动、配置以及管理工具和SQLTool的使用。 首先,获取HSQldb的最新稳定版本,可以从官方网址http://www.hsqldb.org/下载。解压缩后,文档目录下的`index....
HSQldb在启动时,如果指定的数据库文件不存在,会自动创建。数据库文件的位置可以通过启动参数`-database.n`来指定,`dbname.n`则是访问数据库的别名。 **HSQldb启动模式** HSQldb提供了三种主要的启动模式: 1. *...
在本压缩包中,提供的HSQldb版本为2.25,特别之处在于它是针对JDK 1.5编译的。由于HSQldb自2.0版本起,官方默认使用JDK 1.6或更高版本进行编译,这可能对仍在使用JDK 1.5的开发者造成兼容性问题。因此,HSQldb 2.25...
- **运行工具**:HSQLDB提供了几种工具来帮助管理和操作数据库,例如`HsqldbServer`用于启动服务端模式下的数据库服务;`HsqldbWebServer`则提供了一个基于Web的管理界面。 - **运行模式**:支持两种主要模式:`...
6. **网络服务器模式**:如果示例包含网络服务器模式,将展示如何启动HSQldb 服务器,并通过网络连接进行数据库操作。 **应用场景** HSQldb 常用于以下场合: - **开发和测试**:开发人员可以快速搭建数据库环境...
1. **启动HSQldb**:通过java -jar hsqldb.jar命令启动HSQldb服务器,或者在Java代码中直接加载HSQldb库。 2. **连接数据库**:使用JDBC驱动进行连接,如`jdbc:hsqldb:hsql://localhost/test`,其中`test`是数据库...
1. 启动数据库:运行`startHsqldb.bat`,这将启动HSQldb服务器,使其处于监听状态,等待客户端连接。 2. 连接数据库:可以通过命令行工具(如`sqltool`)或者图形用户界面工具(如`HyperGraphDB`)连接到HSQldb...
1. **安装与启动**:HSQLDB的安装非常简单,只需解压压缩包(hsqldb)即可运行,通过命令行或Java API启动数据库服务器。 2. **数据库连接**:使用JDBC驱动进行连接,通过URL指定数据库类型、路径及访问参数。 3. ...
hsqldb数据库下载,很好用,简易的内存数据库,特别适合初学者。
HSQldb 2.3.3是其稳定版本之一,具有高度的可移植性和灵活性。本文将深入探讨HSQldb 2.3.3的核心特性和应用场景,以及如何进行安装和使用。 一、HSQldb 2.3.3概述 HSQldb 2.3.3在继承了前代优点的基础上,对性能...
同时,了解如何配置数据库参数、管理用户权限以及进行数据库的备份和恢复,都是使用HSQldb时不可或缺的知识点。对于开发者而言,熟悉HSQldb提供的API,可以方便地在Java应用中集成数据库功能,进行数据存储和检索。
首先,HSQLDB的便捷之处在于其内置的服务器模式,允许开发者在应用程序中直接启用数据库服务。这极大地简化了数据库的部署和管理过程。在标题中提到的"不用安装其他的数据库,直接启用内部内置的数据库demo",正是...