org.apache.ibatis.type.TypeException: Could not resolve type alias 'id'.

来源:互联网 发布:linux 源码安装lnmp 编辑:程序博客网 时间:2024/06/06 14:05
九月 28, 2017 10:00:00 下午 org.apache.catalina.core.StandardContext listenerStart严重: Exception sending context initialized event to listener instance of class com.bjpowernode.crm.commons.web.listener.QueryMarketActivityTypeContextListenerjava.lang.ExceptionInInitializerErrorat com.bjpowernode.crm.setting.dictionary.service.impl.DictionaryValueServiceImpl.<init>(DictionaryValueServiceImpl.java:15)at com.bjpowernode.crm.commons.web.listener.QueryMarketActivityTypeContextListener.contextInitialized(QueryMarketActivityTypeContextListener.java:28)at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4717)at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5179)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:724)at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:700)at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734)at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1107)at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1841)at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)at java.util.concurrent.FutureTask.run(FutureTask.java:266)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)at java.lang.Thread.run(Thread.java:748)Caused by: org.apache.ibatis.exceptions.PersistenceException: ### Error building SqlSession.### The error may exist in com/bjpowernode/crm/workbench/clue/dao/ClueDao.xml### Cause: org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration. Cause: org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. Cause: org.apache.ibatis.builder.BuilderException: Error resolving class. Cause: org.apache.ibatis.type.TypeException: Could not resolve type alias 'id'.  Cause: java.lang.ClassNotFoundException: Cannot find class: idat org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30)at org.apache.ibatis.session.SqlSessionFactoryBuilder.build(SqlSessionFactoryBuilder.java:80)at org.apache.ibatis.session.SqlSessionFactoryBuilder.build(SqlSessionFactoryBuilder.java:64)at com.bjpowernode.crm.util.SqlSessionUtil.<clinit>(SqlSessionUtil.java:29)... 15 moreCaused by: org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration. Cause: org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. Cause: org.apache.ibatis.builder.BuilderException: Error resolving class. Cause: org.apache.ibatis.type.TypeException: Could not resolve type alias 'id'.  Cause: java.lang.ClassNotFoundException: Cannot find class: idat org.apache.ibatis.builder.xml.XMLConfigBuilder.parseConfiguration(XMLConfigBuilder.java:120)at org.apache.ibatis.builder.xml.XMLConfigBuilder.parse(XMLConfigBuilder.java:98)at org.apache.ibatis.session.SqlSessionFactoryBuilder.build(SqlSessionFactoryBuilder.java:78)... 17 moreCaused by: org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. Cause: org.apache.ibatis.builder.BuilderException: Error resolving class. Cause: org.apache.ibatis.type.TypeException: Could not resolve type alias 'id'.  Cause: java.lang.ClassNotFoundException: Cannot find class: idat org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:120)at org.apache.ibatis.builder.xml.XMLMapperBuilder.parse(XMLMapperBuilder.java:92)at org.apache.ibatis.builder.xml.XMLConfigBuilder.mapperElement(XMLConfigBuilder.java:369)at org.apache.ibatis.builder.xml.XMLConfigBuilder.parseConfiguration(XMLConfigBuilder.java:118)... 19 moreCaused by: org.apache.ibatis.builder.BuilderException: Error resolving class. Cause: org.apache.ibatis.type.TypeException: Could not resolve type alias 'id'.  Cause: java.lang.ClassNotFoundException: Cannot find class: idat org.apache.ibatis.builder.BaseBuilder.resolveClass(BaseBuilder.java:118)at org.apache.ibatis.builder.xml.XMLStatementBuilder.parseStatementNode(XMLStatementBuilder.java:68)at org.apache.ibatis.builder.xml.XMLMapperBuilder.buildStatementFromContext(XMLMapperBuilder.java:135)at org.apache.ibatis.builder.xml.XMLMapperBuilder.buildStatementFromContext(XMLMapperBuilder.java:128)at org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:118)... 22 moreCaused by: org.apache.ibatis.type.TypeException: Could not resolve type alias 'id'.  Cause: java.lang.ClassNotFoundException: Cannot find class: idat org.apache.ibatis.type.TypeAliasRegistry.resolveAlias(TypeAliasRegistry.java:120)at org.apache.ibatis.builder.BaseBuilder.resolveAlias(BaseBuilder.java:149)at org.apache.ibatis.builder.BaseBuilder.resolveClass(BaseBuilder.java:116)... 26 moreCaused by: java.lang.ClassNotFoundException: Cannot find class: idat org.apache.ibatis.io.ClassLoaderWrapper.classForName(ClassLoaderWrapper.java:200)at org.apache.ibatis.io.ClassLoaderWrapper.classForName(ClassLoaderWrapper.java:89)at org.apache.ibatis.io.Resources.classForName(Resources.java:261)at org.apache.ibatis.type.TypeAliasRegistry.resolveAlias(TypeAliasRegistry.java:116)... 28 more





其中我将dao持久层下的xml配置文件中parameterType参数类型写成了id,应该是String类型,可以省略不写的,其导致的结果是访问网页响应404错误.(一般出现这种问题大多与配置文件错误有关)


<select id="queryAllClueById" parameterType="id" resultType="clue">
select * from tbl_clue where id = #{id}
</select>


改为String,或者删除不写传入参数类型后程序正常.


以下为个人看法,因为mybatis映射的配置文件错误,所以导致整个持久层处理数据库错误,所以在服务器启动时监听器加载过程中,无法正常访问数据库文件,产生以上关于监听器的错误信息.


本来是个小问题的,看错误记录也很容易发现,是参数类型写错,结果因为自己没有看全后面的信息,费了一会功夫..检查了半天的web.xml和mybatis.xml




阅读全文
0 0
原创粉丝点击