关于mybatis的扫描包的映射配置
老师,在先前学习mybatis中,在mybatis的总配置文件里,mappers签名用来加载一些映射的配置文件,如:
<mappers> <mapper resource="mapper/UserMapper.xml"/> </mappers>
这里是加载mapper目录下的UserMapper.xml配置映射文件
可是,mappers还有一种简化配置代码的方式,就是配置一个包路径的那种方式,如:
<mappers> <package name="com.imooc.sm.dao"/> </mappers>
这个应该是扫描在com.imooc.sm.dao下的mybatis相关注解吧,意思是说这样配置后,允许在dao包下以注解方式创建SQL语句,可是本项目中,将mybatis的包扫描整合到给spring管理,配置如下:
<!-- Spring整合Mybatis --> <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/sm?useUnicode=true&characterEncoding=utf-8"/> <property name="username" value="root"/> <property name="password" value="root"/> </bean> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource"/> <property name="typeAliasesPackage" value="com.imooc.sm.entity"/> </bean> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="basePackage" value="com.imooc.sm.dao"/> <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/> </bean>
但是在java源代码文件目录和resource资源目录下都有一个com.imooc.sm的目录,请问,这样配置以后,mybatis是扫描哪个包下的注解啊?还是两个地方的包都扫描么?
12
收起
正在回答
1回答
同学你好。编译之后,实际上,会将java源代码文件中和resources文件夹下的同一个包路径的放在一起,像下图这样:所以运行时,扫描的实际是这个包哦
如果解答了同学的疑问,望采纳~
祝学习愉快~
4. SSM到Spring Boot入门与综合实战
- 参与学习 人
- 提交作业 323 份
- 解答问题 8263 个
本阶段将带你学习主流框架SSM,以及SpringBoot ,打通成为Java工程师的最后一公里!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星