java Mybatis无效绑定语句(未找到)
环境:maven,spring 4.2.4-RELEASE,2个模块:zscb服务器zscb common和依赖于zscb common的zscb服务器
我的网络。xml核心代码:
<listener>
<listener-class>com.iidooo.core.listener.RoleResourceInitListener</listener-class>
</listener>
我的模块zscb common中有一个init侦听器:
RoleResourceInitListener核心代码:
public void contextInitialized(ServletContextEvent arg0) {
try {
ServletContext sc = arg0.getServletContext();
SqlSessionFactory sqlSessionFactory = (SqlSessionFactory) SpringUtil.getBean(sc, "sqlSessionFactory");
SqlSession sqlSession = sqlSessionFactory.openSession(true);
SecurityRoleMapper roleMapper = sqlSession.getMapper(SecurityRoleMapper.class);
List<SecurityRole> roleList = roleMapper.selectAll();
// key: roleID value:List<SecurityResource>
Map<Integer, List<SecurityResource>> roleResourceMap = new HashMap<Integer, List<SecurityResource>>();
for (SecurityRole item : roleList) {
roleResourceMap.put(item.getRoleID(), item.getResourceList());
}
sc.setAttribute(ServletConstant.ROLE_RESOURCE_MAP, roleResourceMap);
} catch (Exception e) {
e.printStackTrace();
logger.fatal(e);
}
}
我的应用程序上下文。xml:
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.iidooo.core.mapper com.edo.zscb.mapper" />
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property>
</bean>
我已经查过地图了。xml的名称:
<mapper namespace="com.iidooo.core.mapper.SecurityRoleMapper">
当我运行tomcat时,出现了错误
Mybatis Invalid bound statement (not found)
谁能救我
# 1 楼答案
谷歌搜索
MapperScannerConfigurer
导致documentation声明的第一个结果:而你的包裹被一个空格隔开
# 2 楼答案
在Mybatis中,如果以类似
getMapper(YourMapper.class)
或addMapper(YourMapper.class)
的方式添加映射器,则有必要将相对YourMapper.xml
保留在同一源包中在maven中,还需要包含xml文件作为资源,并且它们必须位于生成的
.class
文件的相同位置因此,在
pom.xml
文件的<build>
部分中会有类似的内容:有了这个配置,maven将离开。xml文件位于与源代码树中相同的位置