首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Java MySQL 連接報錯:原來是拼寫錯誤惹的禍

     編輯:程式設計綜合問答

現象

初學者編寫 JDBC 代碼插入數據時,pstmt.executeUpdate() 一直報錯。代碼片段:

String sql="INSERT INTO user(name,pasword,age,sex,birthday) VALUES(?,?,?,?,?)";

排查過程

仔細核對數據庫表結構,發現列名為 password,而 SQL 中寫成了 pasword(少了一個 's')。

為什麼 IDE 不提示?

SQL 字符串在 Java 中屬於普通文本,編譯器無法理解其語義,自然無法檢查列名拼寫。有趣的是,若在註釋中寫入 password,拼寫檢查反而會生效。

教訓

  • 涉及 SQL 時,務必與數據庫 Schema 嚴格核對,建議使用 IDE 的 Database 工具窗口直接拖拽生成語句。
  • 考慮使用 MyBatis、JPA 等 ORM 框架,將列名映射到實體屬性,由編譯器保證一致性。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved