簡體   English   中英

原因:java.sql.SQLException:找不到列'localename'

[英]Caused by: java.sql.SQLException: Column 'localename' not found

我知道這是一個重復的問題。 很抱歉問。 我的spring mvc應用程序中出現此錯誤。 這是我的Impl文件

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;
    }

}

嘗試執行此操作時,出現類似"Caused by: java.sql.SQLException: Column 'localename' not found" 所有其他字段均正常工作。 但是對於localename僅顯示錯誤。 這里有什么問題?? 請幫我..

對不起,我英語不好

這是我的員工班

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 + "]";
}
}

請檢查

SELECT * FROM Employee 

要么

DESC Employee

表中是否存在列名localename 還要檢查localename的數據類型。

您應該連接到數據庫並執行(確保使用正確的架構):

DESC employee;

您需要100%確保表描述中返回的列'localename'的名稱完全匹配,並且不應帶有下划線或連字符。 這可能只是您創建的表上的錯字。

如果表中不存在列名localename ,則添加列localname ,然后檢查hbm文件中是否映射了列localname (如果使用了hibernate)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM