java写的带数据库的程序如何在没安装数据库的系统上运行

Python016

java写的带数据库的程序如何在没安装数据库的系统上运行,第1张

你的问题应该从两个方面进行分析

第一、使用java内嵌式数据库

程序中使用 Derby和HSQLDB等java内嵌式数据库,只需在程序中将数据库配置好即可,是程序专用的。

可以达到你所说的java数据库程序不需要配置在任何机器上运行。

但是,内嵌式数据库的处理能力很低,只适合小数据量的程序使用。

第二、使用Oracle、MSSql、MySql等数据库

首先这些数据库软件需要安装,即使不在本机安装也需要在一台可以访问到的机器上安装,然后使用jdbc访问。

如果程序安装在已经安装这些数据库的机器上,你只需要将程序的数据库访问指向本机即可。

但是,在本机安装数据库的机器很少,大部分都是访问网络上的数据库,这就需要你引入配置文件。

在配置文件中进行参数配置。当然,你可以写一些默认配置,当实际环境与默认配置不同时就需要修改默认配置。

所以说不用配置的程序其实是符合你默认配置的程序,你需要根据不同的系统或环境组织自己的默认配置文件。

没有万能的东西,只能是适应大部分,而且需要你在编写程序时提前考虑针对各种运行环境的变化。

有问题请留言吧

H2是Thomas Mueller提供的一个开源的、纯java实现的关系数据库。

H2是一个开源的嵌入式数据库引擎,采用java语言编写,不受平台的限制,同时H2提供了一个十分方便的web控制台用于操作和管理数据库内容。H2还提供兼容模式,可以兼容一些主流的数据库,因此采用H2作为开发期的数据库非常方便。

H2最大的用途在于可以同应用程序打包在一起发布,这样可以非常方便地存储少量结构化数据。

它的另一个用途是用于单元测试。启动速度快,而且可以关闭持久化功能,每一个用例执行完随即还原到初始状态。

H2的第三个用处是作为缓存,作为NoSQL的一个补充。当某些场景下数据模型必须为关系型,可以拿它当Memcached使,作为后端MySQL/Oracle的一个缓冲层,缓存一些不经常变化但需要频繁访问的数据,比如字典表、权限表。不过这样系统架构就会比较复杂了。

扩展资料:

H2数据库运行方式:

1、内存模式

数据库只在内存中运行,关闭连接后数据库将被清空,适合测试环境,连接字符串:jdbc:h2:mem:DBNameDB_CLOSE_DELAY=-1,如果不指定DBName,则以私有方式启动,只允许一个连接。

2、嵌入式

数据库持久化存储为单个文件。连接字符串:jdbc:h2:file:~/.h2/DBNameAUTO_SERVER=TRUE。~/.h2/DBName表示数据库文件的存储位置,如果第一次连接则会自动创建数据库。

3、服务模式

H2支持三种服务模式:web server:此种运行方式支持使用浏览器访问H2 Console。

CP server:支持客户端/服务器端的连接方式。

PG server:支持PostgreSQL客户端。

参考资料:百度百科-H2