可能遇到的问题
1.xxxMapper.xml没有在Mybatis核心配置文件中注册
错误:
org.apache.ibatis.binding.BindingException: Type interface com.wfs.dao.UserDao is not known to the MapperRegistry.
解决:
<!-- 每一个Mapper.XML都需要在Mybatis核心配置文件中注册-->
<!-- <mappers>-->
<!-- <mapper resource="com/wfs/dao/UserMapper.xml"/>-->
<!-- </mappers>-->
2.maven资源过滤问题(xxxMapper.xml无法导出)
错误:
org.apache.ibatis.exceptions.PersistenceException:
### Error building SqlSession.
### The error may exist in com/wfs/dao/UserMapper.xml
### Cause: org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration. Cause: java.io.IOException: Could not find resource com/wfs/dao
解决:
在build中配置resources,来防止我们资源导出失败的问题
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>true</filtering>
</resource>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>true</filtering>
</resource>
</resources>
</build>
3、1 字节的 UTF-8 序列的字节 1 无效。
错误:
org.apache.ibatis.exceptions.PersistenceException:
### Error building SqlSession.
### Cause: org.apache.ibatis.builder.BuilderException: Error creating document instance. Cause: org.xml.sax.SAXParseException; lineNumber: 5; columnNumber: 5; 1 字节的 UTF-8 序列的字节 1 无效。
解决:
将Mybatis核心配置文件中的UTF-8改为UFTF8
<?xml version="1.0" encoding="UTF8" ?>
4、sqlSessionFactory可能为空
错误:
java.lang.NullPointerException
Find why ‘sqlSessionFactory’ could be null
解决:
private static SqlSessionFactory sqlSessionFactory;
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
去掉SqlSessionFactory解决重复声明