1. 程式人生 > >表字段名與關鍵字衝突問題與mybatis通用mapper查詢時欄位名駝峰轉下劃線

表字段名與關鍵字衝突問題與mybatis通用mapper查詢時欄位名駝峰轉下劃線

表字段名與關鍵字衝突問題引發的一系列修改欄位名的風波。
因為建表的時候沒有注意欄位名,使用了關鍵字,加上了飄號,所以與關鍵字衝突分時候查詢的時候必須加上飄號進行查詢,但是在使用mybatis通用mapper進行查詢的時候,它自動生成的sql語句中國是不帶飄號的,所以如果表的欄位名和資料庫中的關鍵字相同,那麼查詢的時候欄位名就會被當成關鍵字,出現sql語法錯誤。
這次出錯的時候是t_blog中使用了schema這個關鍵字。
這裡寫圖片描述

真的是欲哭無淚,之前一直不知道是什麼問題,然後以為是varchar(500)以為是位元組大小太大了,然後改了它的資料型別還是有問題,去網上插發現長度不超過65535就是沒問題的。之前用資料庫的時候也沒注意過關鍵字這個問題,查詢的時候基本上也沒用過飄號,這次出現這個問題,算是意識到使用飄號的重要性了,還有在使用表的欄位名的時候不用使用關鍵字。

還有後來在改欄位名的時候,改成了駝峰的形式blogSchema.本來以為這些測試的時候肯定沒錯了,結果一看單元測試又出錯了,發現生成的sql語句把blogSchema變成了blog_schema.唉,然後又得重新去改欄位名,也是醉,該開始的時候好好定義表結構真的很重要,資料庫這種東西真的不是隨隨便便改的。。