2017-07-15 19 views
-3

請幫我用這種方法。 有兩種方法返回的對象,我很困惑存儲如果外部串方法如何獲取方法返回爲字符串?而內部方法或查詢是否在對象類型?

public String getLogin(StudentTO sto) { 
    String u = sto.getUsername(); 
    String p = sto.getPassword(); 

    String sql = "select * from studentstable"; 

    Object obj = JdbcTemplate.queryForObject(sql, new RowMapper() { 
     public Object mapRow(ResultSet rs) throws SQLException { 
      rs.beforeFirst(); 
      while (rs.next()) { 
       String userdb=rs.getString("username"); 
       String passdb=rs.getString("password"); 
       String roledb=rs.getString("role"); 
       if(userdb.equals(u) && passdb.equals(p) && roledb.equalsIgnoreCase("admin")) { 
        return "ADMIN"; 
       } else if(userdb.equals(u) && passdb.equals(p) && roledb.equalsIgnoreCase("user")) { 
        return "USER"; 
       } 
       Object obj=string; 
      } 
      return obj; 
     } 
    ///errror i dont know how to call object here or a string 
    // commented out line because it is misplaced. 
    //return rs; 
    }); 

    StudentTO sto1=(StudentTO)obj; 
    System.out.println(sto1); 
    return sto1.toString(); 
} 

我想方法getLogin()返回ADMINUSER的return語句 輸出。

+0

如果有錯誤,您可以拋出一個新的異常。你知道如何使用Java中的Exceptions嗎? – MiguelKVidal

+0

請閱讀所有關於如何格式化發佈的解釋。你的問題的格式很奇怪。 – GhostCat

+0

PLZ可以任何機構給我的解決方案得到結果我的prblm –

回答

0

首先,讓我們來改變你的getLogin()方法一點點:

public String getLogin (StudentTO sto) { 
    String uName = sto.getUsername(); 
    String uPass = sto.getPassword(); 

    String uRole = findUserRole(uName, uPass); 

    if("admin".equals(uRole) || "user".equals(uRole)) { 
     return uRole .toUpperCase(); 
    } 

    throw new RuntimeException("Wrong role!"); 
} 

這是你的方法的一個簡化版本。

然後,你只需要實現findUserRole()

public String findUserRole(String name, String pass){ 
    String sql = "SELECT * FROM studentstable where username = ?"; 
    // execute and fetch data 
    if(passdb.equals(pass) { 
     return roledb; 
    } 
    throw new RuntimeException("User not found or wrong password."); 
} 

希望它能幫助。

+0

怎麼樣JdbcTemplate和queryForObject –

+0

它必須使用rowMapper來選擇db –

+0

您是否必須使用JdbcTemplate和RowMapper? – MiguelKVidal

相關問題