2017-07-19 56 views
0

我在我的應用程序中爲表員工創建了一個類。這裏是這個類無法在春季MVC中設置值給變量MVC

package com.bct.internal.form.model; 

public class Employee { 
int id; 
String name; 
int salary; 
String designation; 



public String getName() { 
    return name; 
} 

public void setName(String name) { 
    this.name = name; 
} 


public String getDesignation() { 
    return designation; 
} 

public int getId() { 
    return id; 
} 

public void setId(int id) { 
    this.id = id; 
} 

public int getSalary() { 
    return salary; 
} 

public void setSalary(int salary) { 
    this.salary = salary; 
} 

public void setDesignation(String designation) { 
    this.designation = designation; 
} 
@Override 
public String toString() { 
    return "Employee [ID=" + id + ", NAME=" + name 
      + ", SALARY=" + salary + ", DESIGNATION=" + designation + "]"; 
} 

} 

而且我將該列的值傳遞給控制器​​。

public static final class EmployeeMapper implements RowMapper<Employee> 
    { 

    public Employee mapRow(ResultSet rs, int rowNum) throws SQLException { 
     Employee employee = new Employee(); 
     employee.setId(id); 
     employee.setName(rs.getString("name")); 
     employee.setSalary(salary); 
     employee.setDesignation(rs.getString("designation")); 
     return employee; 
    } 

} 

但是對於id和薪水「工資無法解析爲變量」。 這裏有什麼問題..請幫助我..

對不起,我英文很差。

回答

2

應該

Employee employee = new Employee(); 
    employee.setId(rs.getInt("id")); //or (1) 
    employee.setName(rs.getString("name"));//or (2) 
    employee.setSalary(rs.getInt("salary"));//or (3) 
    employee.setDesignation(rs.getString("designation"));//or (4) 
    return employee; 
+0

感謝ü回答..我用這樣那樣的錯誤了。但現在它顯示錯誤,如「錯誤創建名爲'authenticationDaoImpl'的bean:通過字段'id'表示的不滿意的依賴項;嵌套的異常是org.springframework.beans.factory.NoSuchBeanDefinitionException:」 – Shanmugapriya

+0

您必須將id標記爲主鍵@你的模型類中的註釋。 –

0

編譯器不能解析符號id和範圍內salary。用最簡單的術語來說,當您嘗試訪問內存位置idsalary時,編譯器不知道您的意思。

對於您的情況,您必須使用適當的ResultSet getter方法從該特定行中檢索列值。

欲瞭解更多信息,請訪問:https://docs.oracle.com/javase/7/docs/api/java/sql/ResultSet.html

Sajal古普塔有正確的想法