我是越來越壞SQL語法例外JDBC春天
org.springframework.jdbc.BadSqlGrammarException: PreparedStatementCallback;錯誤的SQL語法[select cid, 臨牀醫師代碼,密碼,名字,臨牀醫師的姓氏,其中 臨牀醫師代碼=?];嵌套的例外是 com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:在「字段列表」
錯誤在下面的代碼未知 列「醫生」,你還可以看到表的屏幕截圖,除了CID所有其他屬性是VARCHAR(45)
行映射類
public class CClinicianRowMapper implements RowMapper {
@Override
public Object mapRow(ResultSet rs, int line) throws SQLException {
CClinicianResultSetExtractor extractor = new CClinicianResultSetExtractor();
return extractor.extractData(rs);
}
}
結果提取類 公共類CClinicianResultSetExtractor實現ResultSetExtractor類{
@Override
public Object extractData(ResultSet rs) throws SQLException {
CClinician clinician = new CClinician();
clinician.setCid(rs.getLong("cid"));
clinician.setClinicianCode(rs.getString("clinician-code"));
clinician.setPassword(rs.getString("password"));
clinician.setFirstName(rs.getString("first-name"));
return clinician;
}
}
類用於從表
public List<CClinician> findClinician(CClinician _clinician) {
// TODO Auto-generated method stub
JdbcTemplate select = new JdbcTemplate(dataSource);
try
{
return select.query("select cid, clinician-code, password, first-name, last-name from Clinician where clinician-code= ?",
new Object[] {_clinician.getClinicianCode()}, new CClinicianRowMapper());
}
catch (Exception e)
{
e.printStackTrace();
}
return null;
}
謝謝了,異常消失了,但它仍然沒有返回查詢,雖然表中有數據 – MGD