Mybatis常见配置错误总结
Mybatis常见配置错误总结
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="mapperLocations"> <list> <value>classpath:com.axxxxxy/**/dao/mapper/*.xml</value> </list> </property> <property name="dataSource" ref="dbcp2dataSource" /> <property name="configLocation" value="classpath:resources/mybatis/mybatis-config.xml"/> </bean>
Spring中的Mybatis的配置
1.classpath是针对src的,classpath后面跟的是路径名称而不是包名。
例如上面,com.axxxxy/**/dao/mapper/*.xml ,com后面应该是‘/’而不是'.',这个错误找了一天才找到。如果你classpath写了classpath*:,那么Mybatis会自动搜索查找子包
2.可以免Mapper接口实现类的,如果不用读写分离,dao接口对象可以直接被注入到Service,可以直接调用对应的Mapper ID
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="basePackage" value="com.axxxxxy" /> <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" /> <!-- <property name="annotationClass" value="org.springframework.stereotype.Repository"/> --> </bean>
3.Mapper的DAO类的名称和对应XML的mapper文件文件名称应该一致(没试过)
4.最常见的错误有mapper XML文件的namespace,一定要确保数据表的Model路径配置正确了
5.DaoMapper接口中的方法 与 Mapper中的id不匹配,错别字或者 缺失,都是问题。