H2数据库入门Demo(一)

news/2024/10/30 19:36:00/

H2数据库入门Demo(一)


1、 H2数据库:H2是Thomas Mueller提供的一个开源的、纯java实现 的关系数据库。其有很多优点:轻便、嵌入式或内存版本、兼容性好、支持标准SQL等。

2、H2数据库的下载和安装

如图所示:
这里写图片描述

我本地为Win10系统,下载完成第一个,直接点击exe可以执行文件安装。

3、H2数据库的使用:
第一种方式:直接通过浏览器访问、

这里写图片描述

当你的数据库安装成功后,会产生2个可以访问H2数据库的执行文件图标,点击H2 Console运行,会跳转到一个浏览器页面,如图所示:

这里写图片描述

该界面类似于使用PL/SQL或者Navicat登陆Oracle或者Mysql数据库,最上方可以选择language,奈何英语水平够差,所以只能选择中文简体做讲解。点击蓝色字体配置,可以跳转到配置H2数据库的另一个页面,点击工具,会给你提供一堆对H2数据库操作的功能,比如:备份、还原、恢复、集群、运行脚本、删除文件等等。点击帮助,会提示一些关于H2数据库使用的帮助信息。接下来就是最重要的配置数据库连接信息,驱动类和JDBC URL是默认的,如果你想创建一个新的数据库,直接改动jdbc:h2:[输入你想创建的数据库文件的路径],就可以为你自动创建一个新的数据库(在指定路径下参数数据库文件xxxx.mv),用户名密码也是你输入什么就为你创建对应的用户,连接数据库之前还可以点击测试连接,测试是否可以正确连接,最终经过一通折腾,点击连接,我们就进入了H2数据库的查询界面,如图所示:

这里写图片描述

根据图中详细信息使用,发现确实像一个简化版的PL/SQL。

第二种方式:java连接数据库

话不多说,直接看最简单的JDBC代码

/*** @Author heshouyou* @Description 连接并使用H2数据库* @Date 2017-11-21 16:47.*/
public class H2DataBaseTest {public static void main(String[] args) throws Exception {InputStream inputStream = H2DataBaseTest.class.getResourceAsStream("/application.properties");Properties properties = new Properties();properties.load(inputStream);String driverClass = properties.getProperty("spring.h2.driverClass");String jdbcUrl = properties.getProperty("spring.h2.jdbcUrl");String username = properties.getProperty("spring.h2.username");String password = properties.getProperty("spring.h2.password");Class.forName(driverClass);Connection connection = DriverManager.getConnection(jdbcUrl,username,password);
//        String sql = "CREATE TABLE  HESHOUYOU(ID INT , NAME VARCHAR(100))";
//        String sql = "INSERT INTO HESHOUYOU VALUES(1,'呵呵呵')";String sql = "SELECT NAME FROM HESHOUYOU WHERE ID = 1";PreparedStatement preparedStatement = connection.prepareStatement(sql);
//        preparedStatement.execute();
//        preparedStatement.execute();ResultSet resultSet= preparedStatement.executeQuery();while (resultSet.next()) {System.out.println(resultSet.getString(1));}}
}

配置文件

spring.h2.driverClass=org.h2.Driver
spring.h2.jdbcUrl=jdbc:h2:D:/temp/heshouyou
spring.h2.username=root
spring.h2.password=root

直接运行测试,获取到预先插入到表中的数据,非常圆满。

下篇预告:H2数据库常见问题以及多种模式(内嵌模式、服务模式和内存模式)


http://www.ppmy.cn/news/318491.html

相关文章

MRAID3.0

原文地址 文章目录 移动端富媒体广告接口标准(MRAID)移动端富媒体广告接口标准(MRAID)3.0 版本关于 IAB 技术实验室概要周知介绍1.1 定义1.2 范围1.3 MRAID 是如何工作的1.4 版本1.4.1 MRAID 3.0 版本中的更新 2 概述2.1 Web 技术…

2.2ER模型

一、ER模型的基本元素:实体、联系、属性。 二、属性的分类 1、按属性类别分 简单属性:不可分割的属性。 复合属性:可以再分解为其他属性的属性。 2、按取值特点分 单值属性:同一实体的属性只能取一个值,如“年龄…

数据库 II

数据库 II 1.中文问题:  错误原因是客户端和MySQL之间编解码字符集不一致导致的  解决方案: 修改MySQL的解码字符集为gbk set names gbk; 查询数据  格式: select 字段信息 from 表名 where 条件;  举例: insert into person values(‘刘备’,40),(‘关羽’,30),(‘悟…

高效计算(a^0+a^1+a^2+...+a^n) % m

看到群里有人出了一道ACM题&#xff0c;要求计算(a^0 a^1 a^2 ... a^n) % m的值其中三个数的取值范围为 0 < a < 10^16, 0 < n < 10^9, 1 < m < 10^9 看到这样一道题&#xff0c;首先联想到计算(a^b)%m&#xff0c;后者可以通过分解幂来计算那前者能不能…

EVM220_A2开发笔记

环境准备流程&#xff08;参考EVM220A2主板手册&#xff09;&#xff1a; 1 在ubuntu环境下安装开发环境 2 安装交叉编译器&#xff08;arm64和m0&#xff09;&#xff0c;这里每次执行一下 source /etc/profile指令&#xff0c;不然默认交叉编译器版本较低&#xff0c;无法编…

二、I/O模型

二、I/O模型 1、概念理论 (1)、阻塞调用与非阻塞调用 ①、阻塞调用是指调用结果返回之前&#xff0c;当前线程会被挂起&#xff0c;调用线程只有在得到结果之后才会返回。 ②、非阻塞调用指在不能立刻得到结果之前&#xff0c;该调用不会阻塞当前线程。 ③、两者的最大区别在于…

A2W

这儿是个关于宏的问题&#xff0c;我曾用过ATL的串转换宏&#xff0c;包括W2A&#xff0c;开始有些东西我还不太明白。为了使用这些宏&#xff0c;必须在函数的开始处用USES_CONVERSION来初始化某些局部变量。用就用吧&#xff0c;但是看看这个宏的定义&#xff0c;它有类似下面…

Java1Java2

7-1 程序改错题1 (5分) 程序改错题。以下代码目标是实现从键盘输入1个整数x&#xff0c;然后根据x的值做不同的计算&#xff0c;输出结果。(程序有错&#xff0c;请改正后提交) import java.util.Scanner; public class Main {public static void main(String args[]) {Scann…