错误全称:=Exception in thread “main” java.lang.ExceptionInInitializerErrorat Test.main(Test.java:10)Caused by: org.apache.ibatis.exceptions.PersistenceException:=
在复习到mybatis的时候,使用mybatis在数据库中查询数据,遇到了这个错误 PersistenceException
经过了好几天的折腾,查阅了很多网上的资料,最后发现问题的根源是在mybatis-config.xml中的mapper映射上。
有如下配置mapper路径的方法:
第一种 =mapper resource=“xxx/xxx/xxx.xml”= 不用保证同接口名同包名
第二种=mapper class=“xxx/xxx/xxx.xml”= 需要保证接口名和xml名相同,必须在同一个包中。
我的解决办法就是,使用=mapper class=将=UserMapper.xml=文件移到了和UserMapper文件同一个包下,我的问题解决了,可以实现我的功能。
还有在网上看到的其他几个注意点:
1.xxx.xml文件中的sql语句后面写了分号,切记,xml文件中写sql不需要分号做间隔。
2.有的说出现PersistenceException 异常需要消除对xml的过滤,在pom文件中增加下面一段代码:
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
<filtering>true</filtering>
</resource>
<resource>
<directory>src/main/resource</directory>
<includes>
<include>**/*.properties</include>
<include>**/**/**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
</build>