[英]Spring Boot with MVC application using H2 database
我是使用嵌入式數據庫的新手,也使用 Spring MVC。 我已經制作了 Spring Boot 應用程序並使用了 h2 數據庫,但是在不同的項目中,我無法將兩者放在一起。
我最近的問題是在index.jsp
頁面中,我用來顯示候選選區列表供用戶選擇。 我已經克服了創建連接的問題,但是我一直收到錯誤: "Table "CANDIDATES" not found; SQL statement: SELECT DISTINCT CONSTITUENCY FROM candidates ORDER BY CONSTITUENCY [42102-187]"
。
我知道該表在那里,但我不確定我是否將它設置在我的項目架構中的正確位置。 我創建了一個名為SQL(src中,然后主)文件夾,並放置在data.sql
和schema.sql
這里面填充
>ELECTION2016
>src/main/java
>src/main/resources
>src/test/java
>JRE System Library
>Maven Dependencies
>Apache Tomcat v8.0
v src
v main
>webapp
v SQL
>data.sql
>schema.sql
>test
>target
>pom.xml
基本上我不確定我是否將 sql 文件放在正確的位置!
我的index.jsp
頁面:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ page session="false" %>
<%@ page import="java.io.*,java.util.*,java.sql.*"%>
<%@ page import="javax.servlet.http.*,javax.servlet.*" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql"%>
<html>
<head>
<title>Election 2016</title>
</head>
<body BGCOLOR=#FFE5B4>
<%
try {
Class.forName("org.h2.Driver");
Connection con = DriverManager.getConnection("jdbc:h2:~/test", "", "");
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("SELECT DISTINCT CONSTITUENCY FROM candidates ORDER BY CONSTITUENCY");
%>
<h2>Choose constituency</h2>
<form name="constituencyform" action="display.jsp" method="post">
<select name="constituency">
<%
while (rs.next()) {
%><option><%=rs.getString(1)%></option><%
}
rs.close();
stmt.close();
%>
</select>
<input type="submit" value="Next">
</form>
<%
} catch (SQLException ex) {
%><%= ex.getMessage() %><%
}
%>
</body>
</html>
春天開機DataSourceInitializer
預計schema.sql
和data.sql
中的src / main / resources文件夾。 它是腳本的默認位置。
首先將SQL文件夾移動到資源並使用以下屬性定義自定義位置
spring.datasource.schema=classpath*:sql/schema.sql
spring.datasource.data=classpath*:sql/data.sql
或者只是將腳本移動到默認位置。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.