发表于: 2017-11-07 21:27:24
2 673
今天学习的内容
学习使用mybatis增删改查
今天的收获
今天主要在学习使用mybatis增删改查,我对于mybatis的理解就是,mybatis就是一个设置好的工具,我只要输入相关操作的指令,那么它就会按既定的规则去执行,就比如说,人们想要快点赶路(操控计算机),就发明的汽车(编程语言),为了更简单方便的操作汽车,就发明了人工智能的无人驾驶功能(mybatis等各种工具).所以说mybatis是一个工具(框架),是为了使编程更简单方便.
遇到的问题
1.
问题:Caused by: org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration. Cause: org.apache.ibatis.builder.BuilderException: Error registering typeAlias for 'BmbTest'. Cause: java.lang.ClassNotFoundException: Cannot find class: mybati
原因:1.在pom.xml文件中没有添加xml的构建配置.
怎么发现的:学习使用mybatis增删改查的时候发现的.
修复:在pom.xml文件中增加
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>resources/Configure.xml</include>
</includes>
<filtering>true</filtering>
</resource>
</resources>
</build>
2.Configure.xml文件是放在resources路径下的,在Main中指定该文件路径的时候不需要标注resources,因为resources是默认的路径.
在哪些文件修改了:pom.xml,Main.java
我导致的:是
解决Bug的时间:1小时
教训:学习mybatis的时候考虑不全,需要的配置没有考虑好,项目开发的前期就需要把该准备的都准备好;基础不扎实,一些小细节容易忽略.
2.
问题:org.apache.ibatis.exceptions.PersistenceException:
### Error building SqlSession.
### The error may exist in SQL Mapper Configuration
### Cause: org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration. Cause: org.apache.ibatis.builder.BuilderException: Error registering typeAlias for 'BmbTest'. Cause: java.lang.ClassNotFoundException: Cannot find class: mybatis/model/BmbTest
at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:23)
at org.apache.ibatis.session.SqlSessionFactoryBuilder.build(SqlSessionFactoryBuilder.java:51)
at org.apache.ibatis.session.SqlSessionFactoryBuilder.build(SqlSessionFactoryBuilder.java:35)
at mybatis.dao.Main.<clinit>(Main.java:21)
Caused by: org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration. Cause: org.apache.ibatis.builder.BuilderException: Error registering typeAlias for 'BmbTest'. Cause: java.lang.ClassNotFoundException: Cannot find class: mybatis/model/BmbTest
at org.apache.ibatis.builder.xml.XMLConfigBuilder.parseConfiguration(XMLConfigBuilder.java:106)
at org.apache.ibatis.builder.xml.XMLConfigBuilder.parse(XMLConfigBuilder.java:89)
at org.apache.ibatis.session.SqlSessionFactoryBuilder.build(SqlSessionFactoryBuilder.java:49)
... 2 more
Caused by: org.apache.ibatis.builder.BuilderException: Error registering typeAlias for 'BmbTest'. Cause: java.lang.ClassNotFoundException: Cannot find class: mybatis/model/BmbTest
at org.apache.ibatis.builder.xml.XMLConfigBuilder.typeAliasesElement(XMLConfigBuilder.java:127)
at org.apache.ibatis.builder.xml.XMLConfigBuilder.parseConfiguration(XMLConfigBuilder.java:96)
... 4 more
Caused by: java.lang.ClassNotFoundException: Cannot find class: mybatis/model/BmbTest
at org.apache.ibatis.io.ClassLoaderWrapper.classForName(ClassLoaderWrapper.java:188)
at org.apache.ibatis.io.ClassLoaderWrapper.classForName(ClassLoaderWrapper.java:87)
at org.apache.ibatis.io.Resources.classForName(Resources.java:254)
at org.apache.ibatis.builder.xml.XMLConfigBuilder.typeAliasesElement(XMLConfigBuilder.java:120)
... 5 more
Exception in thread "main" java.lang.NullPointerException
at mybatis.dao.Main.main(Main.java:36)
原因:在Configure.xml配置文件中,标签typeAliases中的实体路径用的正斜杠(/)作为目录上下级分隔,正常应该是使用英文句号(.)作为目录上下级分隔.
怎么发现的:学习使用mybatis增删改查的时候发现的.
修复:把Configure.xml文件中typeAliases的实体路径改为用英文句号作为目录上下级分隔.
在哪些文件修改了:Configure.xml
我导致的:是
解决Bug的时间:30分钟
教训:在pom.xml文件中的路径是由正斜杠来分隔目录上下级的,但不是所有的xml文件都是使用的正斜杠.
明天的计划
明天的计划
明天学习Spring mybatis
评论