Header ads

Header ads
» » » Truy vấn dữ liệu trong JPA

Ở bài Làm việc với SQL Server dùng JPA trên Netbeans chúng ta đã biết làm việc với JPA, nhưng cũng mới chỉ dừng lại ở mức độ sử dụng các câu lệnh truy vấn có sẵn, trong bài viết này chúng ta sẽ học cách dùng các cách truy vấn khác để làm việc với cơ sở dữ liệu. Ta sẽ tiếp tục triển khai ví dụ ở bài viết trước để liệt kê các User có full_name có chứa từ “nguyễn”.
Sau đây là các bước để truy vấn dữ liệu dùng JPA

Bước 1: Tạo đối tượng EntityManager

EntityManager entityManager = Persistence.createEntityManagerFactory("FptGamesPU").createEntityManager();
FptGamesPU là tên được lấy ở file persistence.xml trong thư mục META-INF.

Bước 2: Viết câu lệnh truy vấn

Khâu khó khăn nhất là chúng ta phải viết các câu lệnh truy vấn dùng JP Query các bạn có thể tham khảo ở trang của oracle.
String jpaQuery = "SELECT u FROM User u WHERE u.fullName = :fullName";
Nhưng bạn cũng có thể dùng các câu lệnh mà Netbeans đã tạo sẵn gọi là named query ở entity fpt.games.entity.User.

Bước 3: Tạo đối tượng Query

Query query = entityManager.createQuery(jpaQuery, User.class);
Nếu tạo named query thì dùng lệnh:
Query query = entityManager.createNamedQuery("User.findByFullName", User.class);

Bước 4: Truyền các tham số vào câu lệnh truy vấn nếu có

Dùng phương thức setParameter() để truyền các tham số vào đối tượng query vừa tạo ra. Chúng ta có thể sử dụng tên của tham số hoặc số thứ tự của nó, nhưng tốt nhất là dùng tên để tránh nhầm lẫn giữa các tham số.
query.setParameter("fullName", "%nguyễn%");

Bước 5: Lấy kết quả và xử lý

Chúng ta có nhiều phương thức khác nhau để lấy về kết quả của các câu lệnh truy vấn, một trong những phương thức thường được dùng là getResultList():
List result =query.getResultList();
System.out.println(result);
JP Query cho phép chúng ta thực hiện các thao tác mạnh mẽ như làm việc với SQL mà không cần phải dùng tới SQL.
source code

About Học viện đào tạo trực tuyến

Xinh chào bạn. Tôi là Đinh Anh Tuấn - Thạc sĩ CNTT. Email: dinhanhtuan68@gmail.com .
- Nhận đào tạo trực tuyến lập trình dành cho nhà quản lý, kế toán bằng Foxpro, Access 2010, Excel, Macro Excel, Macro Word, chứng chỉ MOS cao cấp, IC3, tiếng anh, phần mềm, phần cứng .
- Nhận thiết kế phần mềm quản lý, Web, Web ứng dụng, quản lý, bán hàng,... Nhận Thiết kế bài giảng điện tử, số hóa tài liệu...
HỌC VIỆN ĐÀO TẠO TRỰC TUYẾN:TẬN TÂM-CHẤT LƯỢNG.
«
Next
Bài đăng Mới hơn
»
Previous
Bài đăng Cũ hơn