Mybati学习中遇到的问题

可能遇到的问题

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解决重复声明

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值