MyBatis小問題-Mapper中錯誤No constructor found
阿新 • • 發佈:2018-12-11
一、問題描述:
springboot 整合 mybatis 過程:
就是簡單的在MySql中建了個users表,很簡單,包含id,name,age,寫了個實體類 USer 。
public class User { private Long id; private String name; private Integer age; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } public User() { } public User(Long id, String name, Integer age) { this.id = id; this.name = name; this.age = age; } }
單元測試程式碼:
@RunWith(SpringJUnit4ClassRunner.class) @SpringApplicationConfiguration(classes = Application.class) @Transactional public class ApplicationTests { @Autowired private UserMapper userMapper; @Test @Rollback public void findByName() throws Exception { userMapper.insert("AAA", 20); User u = userMapper.findByName("AAA"); Assert.assertEquals(20, u.getAge().intValue()); } }
org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.executor.ExecutorException: No constructor found in com.didispace.domain.User matching [java.lang.Long, java.lang.Integer, java.lang.String] at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:79) at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:447) at com.sun.proxy.$Proxy41.selectOne(Unknown Source) at org.mybatis.spring.SqlSessionTemplate.selectOne(SqlSessionTemplate.java:167)
二、問題解決:
呵呵。在User中增加了一個預設的建構函式,通過。。。done。