通过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 {@Autowiredprivate BookService bookService;@GetMappingpublic 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();