发表于: 2017-04-08 23:28:40
1 1315
今天完成的事情:
今天想分享一下老大给我讲的一个查错的经过(源自于之前日报中的错误,但是程序到了老大那里变成另外一个错误:找不到selectByPrimaryKey的方法。。。(程序本身也存在这个错误))
首先是控制台中打出的错误信息显示:找不到selectByPrimaryKey
这个方法是写在我的Dao中的,说找不到 那么就是说明我程序中的mybatis调用这个的配置出现了问题
而在mybatis中是通过sql语句来完成Dao接口中的方法 一个sql对应了接口中的一个方法 这样就不用再额外去写一个实现类
UserMapper.xml:
那么回到刚刚的问题上 打开含有用来完成操作的sql语句的这个配置文件(我的是UserMapper.xml)来查看,可以看到我原先的程序中包含住整个配置文件的mapper标签中的namespace指向了pojo的User(下图)
使得它与Dao中所写的接口对应不起来 控制器分配到下面调用后找不到所对应的方法执行相应的操作于是报错,将namespace中原先指向User改为指向Dao即可使得配置文件中完成相应操作的sql的id与接口中的方法对应起来
但是我将这个错误改正后依然显示的是
Caused by: org.apache.ibatis.builder.BuilderException: Error resolving class. Cause: org.apache.ibatis.type.TypeException: Could not resolve type alias 'com.lh.ssmdemo3.pojo.User'. Cause: java.lang.ClassNotFoundException: Cannot find class: com.lh.ssmdemo3.pojo.User
at org.apache.ibatis.builder.BaseBuilder.resolveClass(BaseBuilder.java:103)
at org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElement(XMLMapperBuilder.java:264)
at org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElement(XMLMapperBuilder.java:251)
at org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElements(XMLMapperBuilder.java:243)
at org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:116)
... 26 more
Caused by: org.apache.ibatis.type.TypeException: Could not resolve type alias 'com.lh.ssmdemo3.pojo.User'. Cause: java.lang.ClassNotFoundException: Cannot find class: com.lh.ssmdemo3.pojo.User
at org.apache.ibatis.type.TypeAliasRegistry.resolveAlias(TypeAliasRegistry.java:117)
at org.apache.ibatis.builder.BaseBuilder.resolveAlias(BaseBuilder.java:130)
at org.apache.ibatis.builder.BaseBuilder.resolveClass(BaseBuilder.java:101)
... 30 more
Caused by: java.lang.ClassNotFoundException: Cannot find class: com.lh.ssmdemo3.pojo.User
at org.apache.ibatis.io.ClassLoaderWrapper.classForName(ClassLoaderWrapper.java:190)
at org.apache.ibatis.io.ClassLoaderWrapper.classForName(ClassLoaderWrapper.java:89)
at org.apache.ibatis.io.Resources.classForName(Resources.java:256)
at org.apache.ibatis.type.TypeAliasRegistry.resolveAlias(TypeAliasRegistry.java:113)
... 32 more
明天计划的事情:
之前老大给我讲的时候我是有点懵的 现在写完日报开始有点能理解了 等下我也试试查错
继续学习师兄给的例子然后之前程序的错误继续看看
遇到的问题:
我修改了namespace后运行 还是报错(和之前的错误一样)
收获:
今天我想起那天老大说的:别到了deadline才来做该做的事情 我现在特别有体会..说多了都是...虽然问题依然还存在不过今天get了一种查错的方法能有一点收获挺开心的
评论