解決mybatis中的mapper命名問題
mapper文件中id命名最好首字母小寫,避免讓mybatis認為是一個類
<!--獲取供應商列表--> <resultMap type='Provider'><result property='id' column='id'/><result property='proCode' column='proCode'/><result property='proName' column='proName'/><result property='proDesc' column='proDesc'/><result property='proContact' column='proContact'/><result property='proPhone' column='proPhone'/><result property='proAddress' column='proAddress'/><result property='creationDate' column='creationDate'/> </resultMap> <select parameterType='Provider' resultMap='ProviderList'>select * from smbms_provider providerwhere proName like CONCAT(’%’, #{proName}, ’%’) </select>
其中resultMap的id名稱為ProviderList ,會將ProviderList理解為一個類,映射不到
<resultMap type='Provider'><result property='id' column='id'/><result property='proCode' column='proCode'/><result property='proName' column='proName'/><result property='proDesc' column='proDesc'/><result property='proContact' column='proContact'/><result property='proPhone' column='proPhone'/><result property='proAddress' column='proAddress'/><result property='creationDate' column='creationDate'/> </resultMap>
會發生異常,正確寫法為將ProviderList的首字母小寫,即為避免問題mapper文件中id值小寫
Mybatis中接口和對應的mapper文件命名為什么需要一樣?背景:自己對于Mybatis現階段只處于會用的階段,有些問題,自己還是想深入的了解一下。就拿Mybatis的接口文件和mapper文件命名需要一致來開始。
解決:當我們將接口和mapper文件放在同一個包里的時候,Mybatis會進行自動掃描,這種方式要注意此時java接口的名稱和mapper文件的名稱要相同,否則會報異常。
這個時候我們需要配置MapperScannerConfigurer來讓在 Spring 的 XML 配置文件中注冊所有的映射器。相反,你可以使用一個 MapperScannerConfigurer,
它 將 會 查 找 類 路 徑 下 的 映 射 器 并 自 動 將 它 們 創 建 成 MapperFactoryBean。
創建MapperScannerConfigurer:
<bean class='org.mybatis.spring.mapper.MapperScannerConfigurer'> <property name='basePackage' value='com.bijian.study.dao' /> </bean>
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持好吧啦網。
相關文章: