h2小白详细使用教程

本文详细记录了解决h2数据库安装过程中的疑难问题,包括如何下载与配置、连接数据库的操作步骤,以及遇到的table不存在和占用资源等问题的解决方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


前言

今天在使用h2时碰见一个较为玄学的问题,之前有用过h2可能是久了未用吧,一个很奇葩的问题折腾了我一个多小时,特将h2使用总结记在此处给看到的有猿人避避坑。


一、h2的安装

下载地址:https://www.h2database.com/html/download.html
在这里插入图片描述
选择适合自己的版本下载安装,操作很简单,省略啦

二、使用步骤

1.h2的使用

忘记安装目录就盘里搜h2吧
在这里插入图片描述
找到安装文件夹
在这里插入图片描述
打开看到一个h2.bat文件双击打开,或者点击第三个jar也可以打开
在这里插入图片描述
打开后就是这个样子,看不顺眼可以下拉框更改字体,url地址那里初次打开不是我这个样子,这是数据库连接的路径,可以自己自定义,随后会自动在对应目录下生成对应文件,这个不需要看懂,会怎么用就ok,第一次密码那里自己自定义点击Connect连接,之后忘了密码登不上就找自己用过的地方看看或者重新改个路径新建
在这里插入图片描述
这是url路径下自动给生成的,不能动
在这里插入图片描述
进去后就是这个样子,LABROOMS表是我自己创的,中间的白色框框就是写sql语言的地方了,可以自己建表尝试
在这里插入图片描述
在这里插入图片描述
这里给一个建表语句:
CREATE TABLE labrooms(id INT PRIMARY KEY, name VARCHAR(20), description VARCHAR(20)); INSERT INTO labrooms values(1,'D301','软件实验室1'); INSERT INTO labrooms values(2,'D302','软件实验室2'); INSERT INTO labrooms values(3,'D401','硬件实验室1'); INSERT INTO labrooms values(4,'D402','硬件实验室2');

2.h2的连接

jar包也就是文件夹里的.jar复制,在WEB-INF下面建一个lib文件夹拷贝进去
在这里插入图片描述
在这里插入图片描述

<%@ page import="java.sql.DriverManager" %>
<%@ page import="java.sql.Connection" %>
<%@ page import="java.sql.Statement" %>
<%@ page import="java.sql.ResultSet" %><%--
  Created by IntelliJ IDEA.
  User: 22247
  Date: 2022-06-11
  Time: 9:37
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<%
    String JDBC_URL = "jdbc:h2:d:/temp/h2/teaching;FILE_LOCK=NO";//FILE_LOCK=NO避免文件锁住
    String USER = "sa";
    String PASSWORD = "123456";
    String DRIVER_CLASS = "org.h2.Driver";
    Class.forName(DRIVER_CLASS);
    Connection con = DriverManager.getConnection(JDBC_URL, USER, PASSWORD);
    String sql="select * from LABROOMS  where 1=1 ";
    Statement pstmt =con.createStatement();
    ResultSet rs=pstmt.executeQuery(sql);
%>
<table>
    <tr>
        <th>id</th>
        <th>name</th>
        <th>description</th>
    </tr>
<%
    while (rs.next()){
%>
<tr>
    <td><%=rs.getString("id")%></td>
    <td><%=rs.getString("name")%></td>
    <td><%=rs.getString("description")%></td>
</tr>
<%
    }
    rs.close();
    pstmt.close();
    con.close();
%>
</table>
</body>
</html>


3.与h2有关问题总结

1.table xxx not found
解决办法:打开h2界面看看是否有表在里面,最后创建好表了,退出在重新进入检查一遍,连接数据库那里没啥问题应该就可以了
ps:这是今天让我觉得玄学的地方,查了h2会自动保存,并且在我反复确认有数据有表的时候,直到重启再看的时候发现它并没有保存…
2.占用
![占用这个比较普遍](https://img-blog.csdnimg.cn/13fa5446b1014c0da7c4a0debd0cdc2e.png
这个就很好解决,记住只能单独使用,把这个后台退了,然后重新启动tomcat
在这里插入图片描述

总结

暂时总结到这里,欢迎大佬们不吝赐教。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

叼馋爱偷猪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值