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.xml2.代码为: UserMapper.xml
sqlMapConfig.xmlinsert into user values(#{id},#{username},#{password},#{birthday})
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文件中添加资源过滤在一些情况下也是有用的。



