亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

SQLException: 未找到列

SQLException: 未找到列

慕無忌1623718 2022-07-06 16:51:43
我的 sql 查詢應該從表中獲取所有字段,并使用 UserMapper 模板將它們傳輸到 FTL 頁面。該模板指示要創建哪個對象以及要與對象的哪些字段匹配哪些表列??傊核凶侄味颊9ぷ鳎?seanceNumber 字段給出錯誤“未找到列 'seanceNumber'”。這很奇怪,因為列是正確的,所有數據類型都是 int。桌子:(  id           int auto_increment,  name         varchar(255) null,  email        varchar(255) null,  seance       varchar(255) null,  seanceNumber int          not null,  seat         int          null,  constraint client_id_uindex  unique (id));超光速:<#list clientsList as client><tr>    <td><a href="/client/${client.id}">${client.id}</a></td>    <td>${client.name}</td>    <td>${client.email}</td>    <td>${client.seance}</td>    <td>${client.seanceNumber}</td>    <td>${client.seatNumber}</td></tr>SQL:    public List<Client> getAll() {    String sql = "SELECT * FROM client";    return jdbcTemplate.query(sql, new UserMapper());}用戶映射器:    public Client mapRow(ResultSet rs, int rowNum) throws SQLException {    Client client = new Client();    client.setId(rs.getInt("id"));    client.setName(rs.getString("name"));    client.setEmail(rs.getString("email"));    client.setSeance(rs.getString("seance"));    client.setSeanceNumber(rs.getInt("seanceNumber"));    client.setSeatNumber(rs.getInt("seat"));    return client;}結果:消息請求處理失??;嵌套異常是 org.springframework.jdbc.UncategorizedSQLException: StatementCallback; SQL [SELECT * FROM client] 的未分類 SQLException;SQL狀態[S0022];錯誤代碼[0];未找到列“seanceNumber”。;嵌套異常是 java.sql.SQLException:找不到列“seanceNumber”。也檢查了錯別字。我究竟做錯了什么?
查看完整描述

3 回答

?
ITMISS

TA貢獻1871條經驗 獲得超8個贊

即使 SQL 是標準,也沒有數據庫完全實現它。為避免此類錯誤,最好在表和列命名中使用 sheak_case。

在你的情況下seance_number也應該工作。


查看完整回答
反對 回復 2022-07-06
?
素胚勾勒不出你

TA貢獻1827條經驗 獲得超9個贊

我有同樣的問題,但在我的情況下,當我在我的映射器中獲取列時,我還有一個空間。在您的示例中,它就像 rs.getInt("seanceNumber ") 導致相同的錯誤。



查看完整回答
反對 回復 2022-07-06
?
繁華開滿天機

TA貢獻1816條經驗 獲得超4個贊

通過將表中的“seanceNumber”列重命名為“seancenumber”解決了這個問題。

“SQL 中的列名通常不區分大小寫 - 所以無論您要求降神還是 SEANCE 或 SeAnCe 都沒關系。但是,如果您將列名放在雙引號中,它們就會區分大小寫 - 我猜您的 UserMapper 確實做到了并要求一個名為“seanceNumber”的列,但數據庫找不到它(因為它在數據庫中稱為 seancenumber 或 SEANCENUMBER)。


查看完整回答
反對 回復 2022-07-06
  • 3 回答
  • 0 關注
  • 257 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號