2017-07-19 12 views
0

これは繰り返し質問です。申し訳ありません。私は私の春のmvcアプリケーションでこのエラーが発生しています。 これは私が"Caused by: java.sql.SQLException: Column 'localename' not found"のようなエラーを取得しています、これを実行しようとしますが、私のImplは原因:java.sql.SQLException:列 'localename'が見つかりません

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

} 

ファイルです。その他のフィールドはすべて正しく動作しています。しかし、ローカル名の場合のみ、そのエラーを示しています。ここでの問題は何ですか? 。これは私の従業員クラス

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

テーブル 'employee'に' localename'という名前の列がありますか?エラーメッセージにそのような列がないことが示されているかどうかを確認するのは明らかです。 – Jesper

+0

@Jesperはい..それは – Shanmugapriya

+0

@ TanmayDelhikar ..確かにtanmay ..私は私の質問を編集します – Shanmugapriya

答えて

0

ある

私の下手な英語のため申し訳ありません

SELECT * FROM Employee 

または

DESC Employee 

を確認してください列名を、私を助けてくださいlocalenameがテーブルに存在するかどうか。また、localenameのデータ型も確認してください。

0

あなたは(正しいスキーマにあるようにしてください)あなたのデータベースに接続して実行する必要があります

DESC employee; 

あなたが列「localename」の名前は、テーブルの上に戻っていることは100%を確認する必要がありdescriptionが正確に一致する場合は、アンダースコアまたはハイフンを使用しないでください。これは作成したテーブルのタイプミスです。次いで

0

列名localenameがテーブルに存在しない場合、列localnameを追加し、カラムlocalnameをチェックが(休止状態を使用している場合)HBMファイルにマッピングされ又はされていません。

関連する問題