解決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>
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持好吧啦網。
相關文章:
1. 詳解MySQL的Seconds_Behind_Master2. 一次SQL查詢優化原理分析(900W+數據從17s到300ms)3. MySQL MyISAM 與InnoDB 的區別4. MySQL中建表時可空(NULL)和非空(NOT NULL)的用法詳解5. SQLite 實現if not exist 類似功能的操作6. Microsoft Office Access調整控件大小的方法7. Mysql入門系列:建立MYSQL客戶機程序的一般過程8. Mysql入門系列:MYSQL表達式求值和MYSQL類型轉換9. MySql遠程連接的實現方法10. MySQL存儲引擎選擇InnoDB還是MyISAM
