通过postman测试请求时,显示查询成功,返回一个json数组,里面也有数据,但是数据都是null。
说明:确实是sql执行成功了,只不过是没有将sql中的字段的值给注入到对象的属性中去。。。
@Select("SELECT * FROM ssmBooks")
List<Book> get_books();
public class Book {
private Integer id;
private String type;
private String name;
private String descr;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
// ... ...
}
@RestController
@RequestMapping("/books")
public class BookController {
@Autowired
private BookService bookService;
@GetMapping
public Result GetBooks() {
List<Book> books = bookService.getBooks();
return new Result(books != null ? Code.GET_SUCCESS : Code.GET_FAIL,
books,
books != null ? "查询成功!" : "查询失败!");
}
}
原因就是:数据库表字段名与实体对象的属性名无法自动绑定起来,导致无法注入
。。。
修改
@Select("SELECT ssm_id id, ssm_type type, ssm_name name, ssm_desc descr FROM ssmBooks")
List<Book> get_books();