我正在尝试使用Apache Derby的示例。
我创建了一个Web项目,在我的servlet中创建Derby 连接为:
private static String dbURL = "jdbc:derby:resultDataDB;create=true";
private static String tableName = "RESULTMAPPING";
private void createConnection(){
try {
Class.forName("org.apache.derby.jdbc.EmbeddedDriver").newInstance();
//Get a connection
conn = DriverManager.getConnection(dbURL);
} catch (Exception e) {
e.printStackTrace();
}
}
然后我创建表格为:
private void createTableStructure() {
try{
stmt = conn.createStatement();
stmt.execute("create table " +tableName+ " (id integer,resultName varchar(200),resutlValue varchar(300))");
}catch(Exception ex){
ex.printStackTrace();
}
}
上面的代码只运行一次。 然后我插入一些记录,然后我尝试使用以下方法获取记录:
protected String getResultName(String resultValue){
String resultVal=null;
if(resultValue.contains("#")){
resultVal = resultValue.split("#")[1];
}else{
resultVal = resultValue;
}
System.out.println("query parameter: " + resultVal);
String resultName=null;
try
{
String query = "select resultName from APP." + tableName + " where RESUTLVALUE=?";
PreparedStatement preStmt = conn.prepareStatement(query);
preStmt.setString(1, resultVal);
ResultSet results = preStmt.executeQuery();
while(results.next())
{
resultName= results.getString(1);
System.out.println("resultName : " + resultName);
}
results.close();
preStmt.close();
}
catch (SQLException sqlExcept)
{
sqlExcept.printStackTrace();
}
return resultName;
}
我已经使用上面的代码创建了一个JAVA项目。现在这里有一个奇怪的部分。当我在JavaProject中运行上面的方法然后我得到预期的结果,但当我尝试在调用Web项目时调用Same方法。我没有得到任何结果。