H2创建内存数据库服务器,并启动Web控制台

H2创建内存数据库服务器,并启动Web控制台,第1张

写HelloWorld的方便工具。依靠初始化脚本,数据随时重置。交流起来,也方便。

maven

<dependency>

<groupId>com.h2database</groupId>

<artifactId>h2</artifactId>

<version>1.4.194</version>

</dependency>

web.xml中配置

<context-param>

<param-name>db.url</param-name>

<param-value>jdbc:h2:mem:test</param-value>

</context-param>

<context-param>

<param-name>db.user</param-name>

<param-value>sa</param-value>

</context-param>

<context-param>

<param-name>db.password</param-name>

<param-value>sa</param-value>

</context-param>

<context-param>

<param-name>db.tcpServer</param-name>

<param-value>-tcpAllowOthers</param-value>

</context-param>

<listener>

<listener-class>org.h2.server.web.DbStarter</listener-class>

</listener>

<servlet>

<servlet-name>H2Console</servlet-name>

<servlet-class>org.h2.server.web.WebServlet</servlet-class>

<init-param><param-name>webAllowOthers</param-name><param-value></param-value></init-param>

<init-param><param-name>trace</param-name><param-value></param-value></init-param>

</servlet>

<servlet-mapping>

<servlet-name>H2Console</servlet-name>

<url-pattern>/h2/*</url-pattern>

</servlet-mapping>

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

H2数据库有好几种运行方式,你说的这种应该就是“嵌入式"运行方式,它限制只能有一个客户端进行 *** 作,优点是性能好。

除了嵌入式 ,还有 服务器 运行方式(就是像oracle/ sqlserver一样的),但除此以外,还提供了混合模式,这种模式比较常用,和嵌入式的唯一区别就是写jdbc url时,这样写:

jdbc:h2:<数据库文件路径名>AUTO_SERVER=TRUE


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9794475.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存