首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

spring整合mybatis的错误,求解决。

2012-09-12 
spring整合mybatis的异常,求解决。。。运行tomcat是,总是报错:查找了很多资料,没找到原因:2012-08-28 14:33:4

spring整合mybatis的异常,求解决。。。
运行tomcat是,总是报错:查找了很多资料,没找到原因:

2012-08-28 14:33:49,531 >> ERROR >> main >> >> [org.springframework.web.context.ContextLoader] : Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [applicationContext.xml]: Invocation of init method failed; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'class path resource [SqlMapConfig.xml]'; nested exception is java.lang.RuntimeException: Error parsing Mapper XML. Cause: java.lang.NullPointerException
  at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1455)
  at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
  at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
  at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)
  at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)
  at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)
  at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
  at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:591)
  at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:918)
  at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:469)
  at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:383)
  at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:283)
  at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:111)
  at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4206)
  at org.apache.catalina.core.StandardContext.start(StandardContext.java:4705)
  at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:799)
  at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:779)
  at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:601)
  at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1079)
  at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:1002)
  at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:506)
  at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1317)
  at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:324)
  at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142)
  at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1065)
  at org.apache.catalina.core.StandardHost.start(StandardHost.java:840)
  at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
  at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
  at org.apache.catalina.core.StandardService.start(StandardService.java:525)
  at org.apache.catalina.core.StandardServer.start(StandardServer.java:754)
  at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)


  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  at java.lang.reflect.Method.invoke(Method.java:585)
  at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
  at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
Caused by: org.springframework.core.NestedIOException: Failed to parse mapping resource: 'class path resource [SqlMapConfig.xml]'; nested exception is java.lang.RuntimeException: Error parsing Mapper XML. Cause: java.lang.NullPointerException
  at org.mybatis.spring.SqlSessionFactoryBean.buildSqlSessionFactory(SqlSessionFactoryBean.java:412)
  at org.mybatis.spring.SqlSessionFactoryBean.afterPropertiesSet(SqlSessionFactoryBean.java:295)
  at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1514)
  at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1452)
  ... 36 more
Caused by: java.lang.RuntimeException: Error parsing Mapper XML. Cause: java.lang.NullPointerException
  at org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:113)
  at org.apache.ibatis.builder.xml.XMLMapperBuilder.parse(XMLMapperBuilder.java:88)
  at org.mybatis.spring.SqlSessionFactoryBean.buildSqlSessionFactory(SqlSessionFactoryBean.java:410)
  ... 39 more
Caused by: java.lang.NullPointerException
  at org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:104)
  ... 41 more

 

 

Spring中的配置:

 

<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
  <property name="dataSource" ref="dataSource" />
  <property name="mapperLocations" value="classpath:SqlMapConfig.xml" />
  </bean>

 

 

SqlMapConfig.xml中的配置:

<typeAliases>
  <typeAlias type=" com.qtp.UniWebApFramework.dto.RoleDTO" alias="roleDTO"/>
  </typeAliases>
  <mappers>
  <mapper resource="roleMapper.xml"/>
  </mappers>

 

 

roleMapper.xml配置:

<mapper namespace="com.qtp.UniWebApFramework.dto.RoleDTO">
<resultMap type="roleDTO" id="roleMap">
<result property="roleID" column="F_ROLE_ID"/>
<result property="roleType" column="F_ROLE_TYPE"/>
<result property="roleName" column="F_ROLE_NAME"/>
<result property="createAreaID" column="F_CREATE_AREA_ID"/>
<result property="ifDefault" column="F_IF_DEFAULT"/>
<result property="dutyID" column="F_DUTY_ID"/>
<result property="creater" column="F_CREATER"/>
<result property="desc" column="F_DESC"/>
<result property="state" column="F_STATUS"/>
</resultMap>
 
  <select id="queryAll" resultMap="roleMap">
  SELECT * FROM OM_ROLE_T
  </select>
   
</mapper>

[解决办法]
无法解析SqlMapConfig.xml,查看你的XML格式是否正确
------解决方案--------------------


是不是里面有sql拼写的不正确,把你的sql去掉,再执行试试。
[解决办法]
给你个例子demo看看吧
http://blog.csdn.net/afgasdg/article/details/7392367
[解决办法]
配置问题 这样也有可能是web.xml中的配置问题 找一个Demo 把头和尾巴 copy 之后准确按照步骤修改
[解决办法]
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<mappers>
<mapper resource="co/jp/nec/mapper/SystemKanliMapper.xml" />
</mappers>
</configuration>
这个是我的 mybatis-config.xml

热点排行