mybatis自定義的SQL語句中,如select語句,如果數據庫表的字段為駝峰命名,即如img_address這樣的形式,那么select語句執行的結果會變成null。
解決辦法是在配置文件中加上開啟駝峰映射的配置信息。根據配置文件的類型分為以下兩種:
1.在.properties文件中添加:
mybatis.configuration.map-underscore-to-camel-case=true
但如果已經在.properties中配置了mybatis.config-location=classpath:mybatis/mybatis-config.xml這樣的語句,就應該使用下一種方式,即把配置信息寫在.xml中。
2.在mybatis的配置文件,如mybatis-config.xml中進行配置:
<configuration> <!-- 開啟駝峰映射 ,為自定義的SQL語句服務--> <!--設置啟用數據庫字段下划線映射到java對象的駝峰式命名屬性,默認為false--> <settings> <setting name="mapUnderscoreToCamelCase" value="true"/> </settings> </configuration>
在mybatis開啟駝峰匹配后,帶下划線字段,例如:spu_id,
在SQL語句中,要寫成spuId,第二個詞首字母大寫,在SQL語句只中,仍寫成spu_id,只會導致報錯