2016-04-05 21 views
1

Gömülü veritabanlarını kullanarak ve Spring MVC'yi kullanarak oldukça yeni. İlkbaharda önyükleme uygulamaları yaptım ve h2 veritabanını kullandım ama ayrı projelerde, ikisini bir araya getirmekte zorlanıyorum.H2 veritabanını kullanarak Spring MVC uygulaması

En son sorunum, index.jsp sayfasında Kullanıcı tarafından seçilecek olan adayların listesini görüntülemek için kullanıyorum. Ben bir bağlantı yaratma üstesinden geldim, ancak "Tablo" CANDIDATES "hata bulunamadı" SQL deyimi: Adaylardan [42102-187] AŞAĞIDAKİ ŞU ANDA SORUMLULUĞUNU SEÇİN.

Masanın orada olduğunu biliyorum, ancak proje mimarlığımdaki doğru yerde kurulduğundan emin değilim. Ben (ana, sonra src) SQL adında bir klasör oluşturulur ve bir data.sql yerleştirilir ve içine doldurun schema.sql bu

>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 

doğru yerde sql dosyalarını yerleştirdiğiniz Temelde emin oldum !

Benim index.jsp sayfa

<%@ 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> 

Herhangi bir yardım mutluluk duyacağız teşekkürler!

cevap

0

Bahar çizme DataSourceInitializersrc// ana kaynaklar klasöründe schema.sql ve data.sql bekliyor. Komut dosyası varsayılan konumudur. Her şeyden

Firsl kaynaklarına SQL klasörü taşımak ve aşağıdaki özellikleri

spring.datasource.schema=classpath*:sql/schema.sql 
spring.datasource.data=classpath*:sql/data.sql 

Ya da sadece varsayılan konuma komut dosyalarını taşımak kullanarak özel konumunu tanımlar.

İlgili konular