java h2路径_java-H2数据库存储在哪里?

Where are the Database Files Stored?

When using database URLs like jdbc:h2:~/test, the database is stored

in the user directory. For Windows, this is usually C:\Documents and

Settings\ or C:\Users\. If the base directory is

not set (as in jdbc:h2:test), the database files are stored in the

directory where the application is started (the current working

directory). When using the H2 Console application from the start menu,

this is /bin. The base directory can be set in

the database URL. A fixed or relative path can be used. When using the

URL jdbc:h2:file:data/sample, the database is stored in the directory

data (relative to the current working directory). The directory is

created automatically if it does not yet exist. It is also possible to

use the fully qualified directory name (and for Windows, drive name).

Example: jdbc:h2:file:C:/data/test

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,这是一个具体的编程问题。以下是一个简单的Java Web应用程序,可以根据分数段与班级查询学生成绩。该应用程序使用H2数据库,并将数据库路径设置为d:/temp/teaching,表名为student,表结构为:no(学号,字符串),name(姓名,字符串),score(成绩,整数),clazz(班级,字符串)。 首先,需要在pom.xml文件中添加以下依赖项: ```xml <dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> <version>1.4.200</version> </dependency> ``` 然后,编写一个Servlet来处理学生成绩查询请求。以下是一个示例代码: ```java import java.io.IOException; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @WebServlet("/score") public class ScoreServlet extends HttpServlet { private static final long serialVersionUID = 1L; private static final String DB_URL = "jdbc:h2:d:/temp/teaching"; private static final String DB_USER = "sa"; private static final String DB_PASSWORD = ""; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String clazz = request.getParameter("clazz"); int minScore = Integer.parseInt(request.getParameter("minScore")); int maxScore = Integer.parseInt(request.getParameter("maxScore")); List<Score> scores = getScores(clazz, minScore, maxScore); request.setAttribute("scores", scores); request.getRequestDispatcher("/score.jsp").forward(request, response); } private List<Score> getScores(String clazz, int minScore, int maxScore) { List<Score> scores = new ArrayList<>(); try (Connection conn = DriverManager.getConnection(DB_URL, DB_USER, DB_PASSWORD)) { String sql = "SELECT no, name, score, clazz FROM student WHERE clazz = ? AND score >= ? AND score <= ?"; try (PreparedStatement stmt = conn.prepareStatement(sql)) { stmt.setString(1, clazz); stmt.setInt(2, minScore); stmt.setInt(3, maxScore); try (ResultSet rs = stmt.executeQuery()) { while (rs.next()) { Score score = new Score(); score.setNo(rs.getString("no")); score.setName(rs.getString("name")); score.setScore(rs.getInt("score")); score.setClazz(rs.getString("clazz")); scores.add(score); } } } } catch (SQLException e) { e.printStackTrace(); } return scores; } } ``` 在上面的代码中,我们编写了一个ScoreServlet类,实现了doGet方法来处理GET请求。我们从请求参数中获取班级、最小分数和最大分数,然后调用getScores方法来查询数据库,并将结果存储在一个名为“scores”的请求属性中。最后,我们将请求转发到score.jsp页面来展示查询结果。 以下是Score类的定义: ```java public class Score { private String no; private String name; private int score; private String clazz; // getters and setters } ``` 最后,我们还需要编写一个JSP页面来展示查询结果。以下是一个简单的score.jsp页面: ```jsp <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>学生成绩查询结果</title> </head> <body> <h1>学生成绩查询结果</h1> <table> <tr> <th>学号</th> <th>姓名</th> <th>成绩</th> <th>班级</th> </tr> <c:forEach items="${scores}" var="score"> <tr> <td>${score.no}</td> <td>${score.name}</td> <td>${score.score}</td> <td>${score.clazz}</td> </tr> </c:forEach> </table> </body> </html> ``` 在上面的代码中,我们使用JSTL的forEach标签来遍历scores属性,并将每个Score对象的属性显示在一个HTML表格中。 以上就是一个简单的学生成绩查询应用程序的代码示例。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值