01/10/2018, 16:03
Spring Framework: Viết câu lệnh SQL query để truy xuất dữ liệu
Em chào các anh ạ,
Hiện nay em đang tập làm Spring và em đang làm theo hướng dẫn của link này https://kipalog.com/posts/Lap-trinh-Spring-voi-ung-dung-MyContact
Em đã truy xuất dữ liệu thành công sử dụng các hàm có sẵn trong CRUDReposity(findAll(),findByID())
Bây giờ em muốn truy vấn dữ liệu theo ý mình bằng câu lệnh Query ví dụ như: Xuất Phòng đang có rỗng chưa có người book(rom.status= 1) thì em làm cách nào ạ… Em đang làm theo mô hình Spring MVC, các anh giúp em với ạ
Bài liên quan
Mọi người giúp em với ạ
List<Room> findAllByStatus(Integer status);
Bạn có thể tham khảo thêm ở đây Query methods
Đây là cái RoomRepository của em

RomServiceIplm của em

RoomController

Chạy thi nó báo lỗi như sau ạ:
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘roomRepository’: Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: Validation failed for query for method public abstract java.util.List com.example.demo.repository.RoomRepository.findByStatus()!
Validation failed for query for method public abstract java.util.List com.example.demo.repository.RoomRepository.findByStatus()!
room is not mapped [select r from room r where r.ID_status =2]
@Repository
vào trước interfaceRoomRepository
findByStatus()
là tên của method, viết tách nó ra khỏiList<Room>
romService
chưa được@Autowired
vàoRoomController
và còn viết sai.…
Mình khuyên bạn nên học lại về Spring, nghiên cứu lại những khái niệm về DI, IoC, làm quen với Spring Context, tập query dữ liệu bằng
JdbcTemplate
… và nếu có gặp khó khăn thì post cả code lên chứ đừng chỉ chụp ảnh.