尝试了很多网上的资料,都不行
1、mapper.xml放在mapper.class同级目录下,错误!
2、mapper.xml直接放在resources下,错误!
3、在resources中创建一个与mapper.java同名的包,成功!
重点说明如何在resources中创建一个多层的包
在resources中new的时候只有Directory,此时如果按照pakage的习惯来建立就错了,比如new一个新目录,名字写成usop.mybatis.mapper,那么这里只是单纯的建立类一个名叫usop.mybatis.mapper的目录,而不是usop/mybatis/mapper的三层目录。
那么此处该怎么办呢?
此时因该一级一级的建立目录结构,先建立usop,再在usop中建立mybatis,再在mybatis中建立mapper目录.
此时再运行扫描一切ok
附上xml文件内容:
<!-- mapper的批量扫描 从mapper的包中扫描出mapper的接口,自动的创建代理对象 并且在spring容器中注册 MapperScannerConfigurer:进行mapper的扫描 --> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <!-- 指定需要扫描的包 --> <property name="basePackage" value="usop.ssm.mapper"/> <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/> </bean>