これは、testをjava application で run as した時に、consoleに出てきたエラーです。
package test;
import model.Login;
import model.LoginLogic;
public class LoginLogicTest {
public static void main(String[] args){
testExecute1();//ログイン成功のテスト
testExecute2();//ログイン失敗のテスト
}
public static void testExecute1(){
Login login=new Login("minato","1234");
LoginLogic bo=new LoginLogic();
boolean result=bo.execute(login);
if(result){
System.out.println("testExecute1:成功しました。");
}else{
System.out.println("testExecute1:失敗しました。");
}
}
public static void testExecute2(){
Login login =new Login("minato","12345");
LoginLogic bo=new LoginLogic();
boolean result=bo.execute(login);
if(!result){
System.out.println("testExecute2:成功しました。");
}else{
System.out.println("testExecute2:失敗しました。");
}
}
}
実行結果としては、consoleには、
testExcute1:失敗しました。
testExcute2:成功しました。
と出ます。
中身がnullのため、
1が失敗して、2が成功するのですが、
org.h2.jdbc.JdbcSQLException: テーブル "ACCOUNT" が見つかりません とconsoleにでてしまいます。
h2databaseにつないでみても、しっかと
//データベースへ接続
conn=DriverManager.getConnection("jdbc:h2:file:/Users/taichi/Documents/networkspace/newsns/h2data.dat","sa","");
しかし、この指定先と同じく指定して、select * from account;
をすると、しっかりと、minato君のmailadoressなどが表示されます。
何が原因となっているのでしょうか?どうぞよろしくお願いします。
package model;
public class Login {
private String userId;
private String pass;
public Login(String userId,String pass){
this.userId=userId;
this.pass=pass;
} public String getUserId(){return userId;} public String getPass(){return pass;}
}
package model;
import dao.AccountDAO;
public class LoginLogic{
public boolean execute(Login login){
AccountDAO dao=new AccountDAO();
Account account=dao.findByLogin(login);
return account !=null;
}
}
回答1件
あなたの回答
tips
プレビュー