2017-07-28 832 views
1

こんにちは、私は私のコードを実行する際に上記の例外が発生しています。BadSqlGrammarException:原因:java.sql.SQLException:無効な列名

ここは私のクラスです。

package com.bct.internal.form.model; 

    public class Dept { 
    public String deptno; 
    public String deptname; 
    public String location; 

    public String getDeptno() { 
     return deptno; 
    } 

    public void setDeptno(String deptno) { 
     this.deptno = deptno; 
    } 

    public String getDeptname() { 
     return deptname; 
    } 

    public void setDeptname(String deptname) { 
     this.deptname = deptname; 
    } 

    public String getLocation() { 
     return location; 
    } 

    public void setLocation(String location) { 
     this.location = location; 
    } 

    @Override 
    public String toString() { 
     return "Dept [DEPTNO=" + deptno + ", DNAME=" + deptname + ", LOC=" + location + ", ]"; 
    } 

} 

と私のimplファイルが

@Override 
    public Map<String, String> practicelist() { 
     Map<String, String> map = new HashMap<String, String>(); 
     List<Dept> lang1 = namedParameterJdbcTemplate.query("select * from dept", new DeptMapper()); 
     for (int i = 0; i < lang1.size(); i++) { 
      map.put(lang1.get(i).getDeptno(), lang1.get(i).getDeptname()); 
     } 
     return map; 
    } 

    public static final class DeptMapper implements RowMapper<Dept> { 

     @Override 
     public Dept mapRow(ResultSet rs, int rowNum) throws SQLException { 
      Map<String, String> map = new HashMap<String, String>(); 
      Dept dept = new Dept(); 
      dept.setDeptname(rs.getString("deptname")); 
      dept.setDeptno(rs.getString("deptno")); 
      dept.setLocation(rs.getString("location")); 
      return dept; 
     } 

    } 

私は「ERROR GlobalExceptionHandler.defaultErrorHandler -1のようなエラーコードを取得しています実行しようとしている - [URL]:http://localhost:8082/internalhost/userSearch/107 org.springframework.jdbcを.BadSqlGrammarException:PreparedStatementCallback;不正なSQL文法[select * from dept];ネストされた例外はjava.sql.SQLExceptionです:無効な列名 "

ここに私のデータベーステーブル image

+2

「deptname、deptno、deptからの位置」を試してください –

+0

@ElliottFrisch返信いただきありがとうございます:)私はそれを試しました..同じエラーをまだ示しています。 – Shanmugapriya

答えて

0

エラー:無効な列名です。あなたのデータベーステーブルの列を検証することは、RowMapperの結果セットゲッターと正確に一致していますか?

+0

@ShanmugapriyaあなたのRowMapperゲッターを以下のように変更して、画像内で提供されているデータベースの列名を同期させます。 dept.setDeptname(rs.getString( "dname")); dept.setLocation(rs.getString( "loc")); –

+0

問題は今解決されました.. u。ありがとうございますが、今はテーブルからデータを取得していません。ページに表示されていません – Shanmugapriya

+0

@Shanmugapriya lang1 Listオブジェクトに値がロードされているかどうかを確認します。もしそうなら、それはDAOレイヤーでうまくいっています。 –

関連する問題