解決mybatis中的mapper命名問題
mapper文件中id命名最好首字母小寫,避免讓mybatis認(rèn)為是一個(gè)類
<!--獲取供應(yīng)商列表--> <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 ,會(huì)將ProviderList理解為一個(gè)類,映射不到
<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>
會(huì)發(fā)生異常,正確寫法為將ProviderList的首字母小寫,即為避免問題mapper文件中id值小寫
Mybatis中接口和對(duì)應(yīng)的mapper文件命名為什么需要一樣?背景:自己對(duì)于Mybatis現(xiàn)階段只處于會(huì)用的階段,有些問題,自己還是想深入的了解一下。就拿Mybatis的接口文件和mapper文件命名需要一致來開始。
解決:當(dāng)我們將接口和mapper文件放在同一個(gè)包里的時(shí)候,Mybatis會(huì)進(jìn)行自動(dòng)掃描,這種方式要注意此時(shí)java接口的名稱和mapper文件的名稱要相同,否則會(huì)報(bào)異常。
這個(gè)時(shí)候我們需要配置MapperScannerConfigurer來讓在 Spring 的 XML 配置文件中注冊(cè)所有的映射器。相反,你可以使用一個(gè) MapperScannerConfigurer,
它 將 會(huì) 查 找 類 路 徑 下 的 映 射 器 并 自 動(dòng) 將 它 們 創(chuàng) 建 成 MapperFactoryBean。
創(chuàng)建MapperScannerConfigurer:
<bean class='org.mybatis.spring.mapper.MapperScannerConfigurer'> <property name='basePackage' value='com.bijian.study.dao' /> </bean>
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
