1. 程式人生 > 其它 >使用mybaits遇見有大寫的sql語句錯誤的bug分析

使用mybaits遇見有大寫的sql語句錯誤的bug分析

技術標籤:sqlmysql資料庫sqlmybatis

今天使用mybaits模擬一個登陸案例的時候出了bug,程式碼是老師給的在老師那執行沒有問題,但是自己跑一直出bug。
在這裡插入圖片描述
在這裡插入圖片描述
資料庫和要查詢的表如上圖
老師給的mapper對映語句如下

@Select("SELECT * FROM user WHERE username=#{username} AND password=#{password}")
public abstract List<User> login(User user);

解決過程如下:
發現user和password好像是sql裡面的預設關鍵字,如果要正確查詢需要使用下面的程式碼

SELECT * FROM `USER` WHERE username='admin' AND PASSWORD='123'

很明顯mybaits查詢時不會吧USER和PASSWORD像在資料庫中自動變為大寫,所以一直報錯,將語句中修改如下就能正常運行了

@Select("SELECT * FROM `USER` WHERE username=#{username} AND PASSWORD=#{password}")
public abstract List<User> login(User user);