spring 继承 mybatis时, 可以正常运行 编写的junit报错,原因是mybatis没有加入到mapperFactory中 求解
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring 继承 mybatis时, 可以正常运行 编写的junit报错,原因是mybatis没有加入到mapperFactory中 求解相关的知识,希望对你有一定的参考价值。
Mapped Statements collection does not contain value for UserMapper.insert
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations= "classpath:conf/spring/app-context.xml","classpath:conf/spring/servlet-context.xml")
@ActiveProfiles("test")
public class UserDaoImplTest extends TestCase
@Autowired
protected UserDao userDao;
@Test
public void testInsert() throws Exception
User user = new User();
user.setId("id");
user.setUsername("username");
user.setPassword("password");
user.setRole(RoleEnum.Student.getKey());
System.out.println("test");
boolean result = userDao.insert(user);
assertTrue(result);
没有mybatis-config.xml
利用spring扫描的
而且开发环境和war包都没问题
只有junit有问题
单独的spring和junit是两个体系结构,你在测试类加@RunWith(SpringJUnit4ClassRunner.class)试试。
追问你看的贴的代码的第一个标签
参考技术B web启动的时候,spring的配置都已经加载好了。但是junit启动的话,新起的线程里当然没有数据了,除非你重新加载一遍spring.xml。追问
@ContextConfiguration(locations= "classpath:conf/spring/app-context.xml","classpath:conf/spring/servlet-context.xml")
参考技术C 哥们,我也遇到了这样的问题,你是怎么解决的呢?以上是关于spring 继承 mybatis时, 可以正常运行 编写的junit报错,原因是mybatis没有加入到mapperFactory中 求解的主要内容,如果未能解决你的问题,请参考以下文章
Spring boot 学习六 spring 继承 mybatis (基于注解)
一般项目中使用struts,spring mybatis时如何使用Session?
Spring+Mybatis项目中通过继承AbstractRoutingDataSource实现数据库热切换