1 第一种 在conf
1.1 目录
1.2 配置
<!--3.sqlSessionFactory 配置和MyBatis的整合 -->
<bean id="sqlSessionFactory"class="org.mybatis.spring.SqlSessionFactoryBean">
<!-- 3.1注入数据源 -->
<property name="dataSource" ref="dataSource"></property>
<!-- 3.2 指定mybatis 全局配置文件 -->
<property name="configLocation"value="classpath:mybatis/SqlMapConfig.xml"/>
<!-- 3.3指定mybatis,mapper文件的位置-->
<propertyname="mapperLocations" value="classpath:mapper/*.xml"></property>
</bean>
<!-- 4. 配置mybatis扫描器,-->
<!-- 4.1 将mybatis接口的实现加入到ioc容器中 dao接口 -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="cn.e3mall.mapper"></property>
<!-- 使用sqlSessionFactoryBeanName -->
<property name="sqlSessionFactoryBeanName"value="sqlSessionFactory"/>
</bean>
2 第二种 在同包下
2.1 目录
2.2 配置
缺少指定mapper位置
<!--3.sqlSessionFactory 配置和MyBatis的整合 -->
<bean id="sqlSessionFactory"class="org.mybatis.spring.SqlSessionFactoryBean">
<!-- 3.1注入数据源 -->
<property name="dataSource" ref="dataSource"></property>
<!-- 3.2 指定mybatis 全局配置文件 -->
<property name="configLocation"value="classpath:mybatis/SqlMapConfig.xml"/>
</bean>
<!-- 4. 配置mybatis扫描器,-->
<!-- 4.1 将mybatis接口的实现加入到ioc容器中 dao接口 -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="cn.e3mall.mapper"></property>
<!-- 使用sqlSessionFactoryBeanName -->
<property name="sqlSessionFactoryBeanName"value="sqlSessionFactory"/>
</bean>
2.3 Pom中加载配置
多一步 pom加载xml
<build>
<finalName>${project.artifactId}</finalName>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
</build>
3 第三种 在不同包下
3.1 目录
3.2 配置
<!-- 创建SqlSessionFactory,同时指定数据源 -->
<bean id="sqlSessionFactory"class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<!--configLocation属性指定mybatis的核心配置文件 -->
<property name="mapperLocations">
<list>
<value>classpath:com/founder/**/sqlmap/*.xml</value>
</list>
</property>
</bean>
<!-- MapperScannerConfigurer配置 -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<!-- basePackage指定要扫描的包,在此包之下的映射器都会被搜索到。可指定多个包,包与包之间用逗号或分号分隔 -->
<property name="basePackage" value="com.founder.**.dao"/>
</bean>
3.3 配置2
2 问题
2.1 如果发现无法扫描xml
参考https://blog.csdn.net/zjccsg/article/details/69257487
思考是不是打包就没有扫描到
这idea问题,在pom文件加上
<build>
<finalName>innovation</finalName>
<resources>
<!--编译之后包含xml-->
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
<filtering>true</filtering>
</resource>
</resources>
</build>