溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

怎么解決mybatis中的mapper命名問題

發(fā)布時(shí)間:2021-06-11 11:27:34 來源:億速云 閱讀:355 作者:小新 欄目:開發(fā)技術(shù)

這篇文章主要介紹了怎么解決mybatis中的mapper命名問題,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

mybatis mapper命名問題

mapper文件中id命名最好首字母小寫,避免讓mybatis認(rèn)為是一個(gè)類

<!--獲取供應(yīng)商列表-->
    <resultMap id="ProviderList" 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 id="getProviderList" parameterType="Provider" resultMap="ProviderList">
        select * from smbms_provider provider
        where proName like CONCAT('%', #{proName}, '%')
    </select>

其中resultMap的id名稱為ProviderList ,會(huì)將ProviderList理解為一個(gè)類,映射不到

<resultMap id="ProviderList" 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>

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“怎么解決mybatis中的mapper命名問題”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI