MyBatis小問題(1)-Mapper中錯誤No constructor found...

  前兩天又被公司叫去修改其餘產品的一些問題了,沒有看java相關的,今天週六,看了看MyBatis東西。java

  就是簡單的在MySql中建了個users表,很簡單,包含id,name,age,寫了個bean。以下:(注,因爲初學java,可能不少名詞用的並非特別準確,大概理解一下就好了,待學成以後,再行修改。所謂大行不顧細謹,大禮不拘小節,O(∩_∩)O)apache

  

package com.tszhao.dao;

public class User {

    private int id;
    private String name;
    private int age;
    
    public User(int id, String name, int age) {
        super();
        this.id = id;
        this.name = name;
        this.age = age;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    @Override
    public String toString() {
        return "User [id=" + id + ", name=" + name + ", age=" + age + "]";
    }
}

  在JUnit中寫了一個測試程序,用來查詢。app

@Test
public void testSelect() {
    SqlSessionFactory factory = MyBatisUtils.getFactory();
    SqlSession openSession = factory.openSession();
    UserMapper mapper = openSession.getMapper(UserMapper.class);
    User selectUser = mapper.selectUser(1);
    System.out.println(selectUser);
}

  結果,運行報錯。。。ide

org.apache.ibatis.exceptions.PersistenceException: 

### Error querying database. Cause: org.apache.ibatis.executor.ExecutorException: No constructor found in com.tszhao.dao.User matching [java.lang.Integer, java.lang.String, java.lang.Integer]
### The error may exist in com/tszhao/mapper/UserMapper.java (best guess)
### The error may involve com.tszhao.mapper.UserMapper.selectUser
### The error occurred while handling results
### SQL: select * from users where id=?
### Cause: org.apache.ibatis.executor.ExecutorException: No constructor found in com.tszhao.dao.User matching [java.lang.Integer, java.lang.String, java.lang.Integer]
at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30)
...

  看樣子,應該跟構造函數相關。找不到與User相關的構造函數。試着在User中增長了一個默認的構造函數,經過。。。函數

  可能問題都不值得一提,可是,特此記錄一下學習歷程,也是一個頗有意思的事。。。學習

相關文章
相關標籤/搜索