最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

ssm?mybatis如何配置多個(gè)mapper目錄

 更新時(shí)間:2022年01月10日 10:16:26   作者:信行合一  
這篇文章主要介紹了ssm?mybatis如何配置多個(gè)mapper目錄,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教。

ssm mybatis配置多個(gè)mapper目錄

通配符配置

比如目錄的結(jié)構(gòu)如下:

com/test/web/user/mapper
com/test/web/order/mapper
com/test/web//mapper

<!-- 掃描 xxxMapper.xml --> ??
? ? <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
? ? ? ? <property name="dataSource" ref="dataSource" />
? ? ? ? <property name="configLocation" ?value="classpath:spring/mybatis-config.xml"/> ?
? ? ? ? <property name="mapperLocations" value="classpath*:com/xxxcompany/xxxproject/*/mapper/*.xml" />
? ? </bean>

<!-- 掃描 xxxMapper -->
? ? <bean id="daoScan" class="org.mybatis.spring.mapper.MapperScannerConfigurer">
? ? ? ? <property name="basePackage" value="com.xxxcompany.xxxproject.*.mapper" />
? ? ? ? <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" />
? ? </bean>

除了上面這種目錄結(jié)構(gòu)一致的方式,我們還可以使用下面的配置方式,這個(gè)意思也就是說只要是符合mapper* 這樣的命名規(guī)則的包都會被掃描到

<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
? ? ? ? <property name="dataSource" ref="dataSource" />
? ? ? ? <property name="configLocation" ?value="classpath:mybatis-config.xml"/> ?
? ? ? ? <property name="mapperLocations" value="classpath*:com/dada/**/*Mapper.xml"/>?
? ? </bean>

? ? <!-- 配置掃描器 -->
? ? <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
? ? ? ? <property name="basePackage" value="com.dada.test.mapper*"/>
? ? ? ? <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" />
? ? </bean>

ssm項(xiàng)目 mappers標(biāo)簽

mappers標(biāo)簽標(biāo)簽的作用

為了讓mybatis找到mapper.xml文件。

在后面的ssm整合項(xiàng)目中,有兩種方式可以代替它

  1. 一個(gè)是使用MapperScannerConfigurer
  2. 一個(gè)是使用mapperLocation屬性(位于SqlSessionFactoryBean中):mapperLocation屬性,主要用于指定mapper.xml文件所處的位置。

MapperScannerConfigurer可以自動掃描到和接口同包同名的mapper.xml文件

mapperLocation屬性可以指定掃描。

下面來個(gè)逆向思考?。?!

在ssm項(xiàng)目中,將mapper.xml文件放進(jìn)和dao接口不同的包中,這樣的話MapperScannerConfigurer的自動掃描就掃描不到mapper.xml文件了。然后不使用mapperLocation屬性,意思就是使用mappers標(biāo)簽來代替兩個(gè)新方法,來驗(yàn)證一下。

但是結(jié)果卻和我想的不一樣?。?!下面我來說我遇到的一些坑?。?!

mappers標(biāo)簽的配置方式有4種

<!-- 1.使用相對于類路徑的資源引用 -->
<mappers>
? <mapper resource="org/mybatis/builder/AuthorMapper.xml"/>
</mappers>
<!-- 2.使用完全限定資源定位符(URL) -->
<mappers>
? <mapper url="file:///var/mappers/AuthorMapper.xml"/>
</mappers>
<!-- 3.使用映射器接口實(shí)現(xiàn)類的完全限定類名 -->
<mappers>
? <mapper class="org.mybatis.builder.AuthorMapper"/>
? <mapper class="org.mybatis.builder.BlogMapper"/>
? <mapper class="org.mybatis.builder.PostMapper"/>
</mappers>
<!-- 4.將包內(nèi)的映射器接口實(shí)現(xiàn)全部注冊為映射器 -->
<mappers>
? <package name="org.mybatis.builder"/>
</mappers>
  1. 使用第3種和第4種方法需要和MapperScannerConfigurer一樣,將mapper.xml文件和dao接口同名同包。
  2. 對于第一種方法,我們需要注意的是:/ 和 .

蜿蜒曲折的探究道路

對于指定類路徑的資源引用的方式,也就是第一種方式,我將mapper.xml文件所在包放進(jìn)了dao接口所在包的子包。結(jié)果idea提示說找不到mapper.xml文件,然后我又調(diào)了一會(將mapper.xml文件所在包改變位置后)可以正常運(yùn)行,然后我就以為mapper.xml文件所在包不能放進(jìn)了dao接口所在包的子包。我又重新把mapper.xml文件所在包放進(jìn)了dao接口所在包的子包,結(jié)果能正常運(yùn)行了。

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論

灌云县| 民权县| 东源县| 策勒县| 玉树县| 牙克石市| 随州市| 鞍山市| 廉江市| 宽甸| 永年县| 舒兰市| 绩溪县| 黔西| 樟树市| 三亚市| 象州县| 安吉县| 岑巩县| 孟村| 喀喇沁旗| 衡山县| 南华县| 商河县| 托克逊县| 临沂市| 山东省| 泽库县| 措勤县| 洪湖市| 正宁县| 东兴市| 桦川县| 晋宁县| 涿鹿县| 尉犁县| 金川县| 拉孜县| 房山区| 资中县| 台安县|