栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

idea中使用mybatis框架出现找不到映射文件的问题的解决

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

idea中使用mybatis框架出现找不到映射文件的问题的解决

1.错误如下所示:
org.apache.ibatis.exceptions.PersistenceException: 
### Error building SqlSession.
### The error may exist in com/myb/mapper/UserMapper.xml
### Cause: org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration. Cause: java.io.IOException: Could not find resource com/myb/mapper/UserMapper.xml
2.代码为: UserMapper.xml




    
    
        insert into user values(#{id},#{username},#{password},#{birthday})
    


sqlMapConfig.xml



    
    


    
        
    
    
    
        
            
            
                
                
                
                
                
            
        
    

    
        
    

MybatisTest1
package com.myb.test;


import com.myb.domain.User;
import com.myb.mapper.UserMapper;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;

import java.io.IOException;
import java.io.InputStream;
import java.util.List;

public class MybatisTest1 {

    private UserMapper mapper;
    SqlSession sqlSession=null;

    @Before
    public void before() throws IOException {
        InputStream resourceAsStream = Resources.getResourceAsStream("sqlMapConfig.xml");
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsStream);
        sqlSession = sqlSessionFactory.openSession(true);
        mapper = sqlSession.getMapper(UserMapper.class);
    }
    
    @After
    public void sessionClose() {
        if (sqlSession!=null) {
            sqlSession.close();
        }
    }

    @Test
    public void testSave() {
        User user = new User();
        user.setUsername("小兰");
        user.setPassword("abc");
        mapper.save(user);
    }
  
}
目录 3.解决:

在pom.xml文件中添加资源过滤,要放在dependencies外面。


    
        
            src/main/java
            
                ***.xml
            
            false
        
        
            src/main/resources
            
                ***.xml
            
            false
        
    
    

但还是有问题:
(1)我将UserMapper.xml文件移动到了java.com.myb.mapper中后,运行成功了。
(2)将resources下的包重新创建后,运行成功了。
(3)在重新创建了包之后,我将pom,xml文件中的资源过滤也删除了,运行成功了。

总结:

在resources下创建包要小心,连接不上的话可以尝试重新创建。在pom.xml文件中添加资源过滤在一些情况下也是有用的。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/299366.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号