2017-07-19 3 views
0

Ich weiß, dass dies eine wiederholte Frage ist. Tut mir leid dass ich gefragt habe. Ich habe diesen Fehler in meiner Federmvc-Anwendung. Das ist mein Implverursacht durch: java.sql.SQLException: Spalte 'localename' nicht gefunden

Datei
public Map<String, String> employeelist() { 
    Map<String, String> map = new HashMap<String, String>(); 
    List<Employee> lang1 = namedParameterJdbcTemplate.query("select * from 
    employee", new EmployeeMapper()); 
    for (int i = 0; i < lang1.size(); i++) { 
     map.put(lang1.get(i).getLocalename(), lang1.get(i).getName()); 
    } 
    return map; 
} 

public static final class EmployeeMapper implements RowMapper<Employee> { 

    public Employee mapRow(ResultSet rs, int rowNum) throws SQLException { 
     Map<String, String> map = new HashMap<String, String>(); 
     Employee employee = new Employee(); 
     employee.setId(rs.getString("id")); 
     employee.setName(rs.getString("name")); 
     employee.setSalary(rs.getString("salary")); 
     employee.setDesignation(rs.getString("designation")); 
     employee.setLocalename(rs.getString("localename")); 
     return employee; 
    } 

} 

Bei dem Versuch, dies auszuführen i wie "Caused by: java.sql.SQLException: Column 'localename' not found" eine Störung erhalte. Alle anderen Felder funktionieren ordnungsgemäß. Aber für Localename nur seine zeigt den Fehler. Was ist das Problem hier ?? Bitte helfen Sie mir ..

Sorry für mein schlechtes Englisch

Das ist meine Mitarbeiter Klasse

package com.bct.internal.form.model; 

public class Employee { 
private String id; 
private String name; 
private String salary; 
private String designation; 
private String localename; 

public String getId() { 
    return id; 
} 

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

public String getName() { 
    return name; 
} 

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

public String getSalary() { 
    return salary; 
} 

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

public String getDesignation() { 
    return designation; 
} 

public void setDesignation(String designation) { 
    this.designation = designation; 
} 


public String getLocalename() { 
    return localename; 
} 

public void setLocalename(String localename) { 
    this.localename = localename; 
} 

@Override 
public String toString() { 
    return "Employee [ID=" + id + ", NAME=" + name + ", SALARY=" + salary + 
", LOCALE_NAME=" + localename + ", DESIGNATION=" + designation + "]"; 
} 
} 
+1

Hat die Tabelle 'employee' eine Spalte namens' localename'? Das wäre natürlich die erste Sache, die überprüft, ob die Fehlermeldung besagt, dass es keine solche Spalte gibt. – Jesper

+0

@Jesper Ja .. es tut – Shanmugapriya

+0

@TanmayDelhikar .. Sicher Tanmay .. Ich werde meine Frage bearbeiten – Shanmugapriya

Antwort

0

Bitte überprüfen

SELECT * FROM Employee 

oder

DESC Employee 

Der Spaltenname localename ist vorhanden oder nicht in der Tabelle. Überprüfen Sie auch den Datentyp des localename.

0

Sie sollen mit Ihrer Datenbank verbinden und ausführen (unbedingt im richtigen Schema sein):

DESC employee; 

Sie müssen zu 100% sicher sein, dass der Name der Spalte ‚LocaleName‘ auf dem Tisch zurück Beschreibung stimmt genau überein, sollte keine Unterstriche oder Bindestriche enthalten. Dies könnte nur ein Tippfehler auf dem Tisch sein, den Sie erstellt haben.

0

wenn der Spaltenname localename nicht in der Tabelle vorhanden ist dann die localname Spalt hinzuzufügen, dann Spalte überprüfen localname abgebildet wird oder nicht in hbm Datei (bei Verwendung von Hibernate).

Verwandte Themen