Mybatis查询数据返回null
今天用Mybatis实现数据增删查改,增、删、改都没有问题,但是在查找时返回null,java代码如下:
public void showExercise(){
try {
InputStream is = Resources.getResourceAsStream("mybatis-config.xml");
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is);
SqlSession sqlSession = factory.openSession();
ExerciseMapper mapper = sqlSession.getMapper(ExerciseMapper.class);
List<Exercise> exercises = mapper.showExercise();
System.out.println("Exercise的长度为"+exercises.size());
System.out.println(exercises);
for (Exercise exercise:exercises){
System.out.println(exercise.getId()+"\t"+exercise.getDifficulty()+"\t"+exercise.getType()+"\t"+exercise.getChapterId()+"\t"+exercise.getDiscribe());
}
}catch (IOException e){
e.printStackTrace();
}
}
实体类属性定义如下:
public class Exercise {
private int id;
private String difficulty;
private String type;
private int chapterId;
private String discribe;
}
数据库表中数据如下:
报错如下:
解决方法:将java类中的属性名改成与数据库中字段名相同的名字,即属性名与字段名相同。
重新测试,运行成功!