intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Hibernate query language - Nguyễn Hoàng Anh

Chia sẻ: Nhân Sinh ảo ảnh | Ngày: | Loại File: PDF | Số trang:32

78
lượt xem
6
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bài giảng "Hibernate query language" trình bày các nội dung: Hibernate Query Language, HQL – from, HQL – selec, HQL – aggregate function, HQL – where, HQL - Expression, HQL – order by, HQL – group by và having, HQL – sub query. Mời các bạn cùng tham khảo nội dung chi tiết.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Hibernate query language - Nguyễn Hoàng Anh

  1. Upload by Cafeitvn.com
  2. Nội dung trình bày  Hibernate Query Language (HQL)  HQL – from  HQL – select  HQL – aggregate function  HQL – where  HQL - Expression  HQL – order by  HQL – group by & having  HQL – sub query 2 Upload by Cafeitvn.com Nguyễn Hoàng Anh – nhanh@fit.hcmus.edu.vn – ĐH KHTN - 2012
  3. JDBC - SQL  JDBC sử dụng các câu lệnh SQL để thực hiện truy vấn dữ liệu để truy vấn dữ liệu và các thao tác cập nhật như thêm, xóa, sửa trên bảng dữ liệu.  Để thao tác tốt các câu lệnh SQL cần quan tâm đến các bảng, các dòng, các cột và mối quan hệ giữa các bảng và đặc biệt là hệ quản trị cơ sở dữ liệu đang làm việc.  Kết quả trả về của câu lệnh truy vấn là danh sách các dòng dữ liệu. 3 Upload by Cafeitvn.com Nguyễn Hoàng Anh – nhanh@fit.hcmus.edu.vn – ĐH KHTN - 2012
  4. Hibernate - HQL  Hibernate cung cấp các API cho phép thực hiện tác thao tác cập nhật như thêm, xóa, sửa.  Hibernate cung cấp ngôn ngữ truy vấn rất mạnh được gọi là Hibernate Query Language (HQL).  HQL độc lập hệ quản trị cơ sở dữ liệu và được Hibernate thông dịch sang SQL tương ứng trong quá trình thực thi.  HQL là ngôn ngữ truy vấn theo hướng đối tượng. Kết quả truy vấn là đối tượng  Hibernate sử dụng các lớp đối tượng và các thuộc tính thay cho các bảng và các cột. 4 Upload by Cafeitvn.com Nguyễn Hoàng Anh – nhanh@fit.hcmus.edu.vn – ĐH KHTN - 2012
  5. HQL – Phân biệt hoa thường  HQL không phân biệt thường hoa ngoại trừ – Tên các lớp đối tượng – Các thuộc tính trong lớp đối tượng  Ví dụ 2 câu truy vấn giống nhau – select s from Sach s SELECT s FROM Sach s – Select s From Sach s SELECT s FROM Sach s  Ví dụ 2 câu truy vấn khác nhau – select s from sach s SELECT s FROM Sach s – Select s From SACH s SELECT s FROM Sach s 5 Upload by Cafeitvn.com Nguyễn Hoàng Anh – nhanh@fit.hcmus.edu.vn – ĐH KHTN - 2012
  6. HQL – Mệnh đề from  Lấy tất cả cá đối tượng danh mục – from DanhMuc – select dm from DanhMuc dm – select dm from DanhMuc as dm  Lấy tất cả đối tượng sách – from Sach – select s from Sach s – select s from Sach as s 6 Upload by Cafeitvn.com Nguyễn Hoàng Anh – nhanh@fit.hcmus.edu.vn – ĐH KHTN - 2012
  7. HQL – Mệnh đề from – lấy tất cả đối tượng 1 String hql = "from Sach"; 2 Query query = session.createQuery(hql); 3 List ds=query.list(); 7 Upload by Cafeitvn.com Nguyễn Hoàng Anh – nhanh@fit.hcmus.edu.vn – ĐH KHTN - 2012
  8. HQL – Mệnh đề from - phân trang 1 String hql = "from Sach"; 2 Query query = session.createQuery(hql); 3 query.setFirstResult(3); 4 query.setMaxResults(5); 5 List ds=query.list(); - Lấy từ vị trí thứ n (tính từ 0) setFirstResult (int n) - lấy tối đa m đối tượng setMaxResults (int m) - Tương tự trong MYSQL LIMIT N, M 8 Upload by Cafeitvn.com Nguyễn Hoàng Anh – nhanh@fit.hcmus.edu.vn – ĐH KHTN - 2012
  9. HQL - join  cross join  inner join hoặc join  left join hoặc left outer join  right join hoặc right outer join  left join fetch hoặc left outer join fetch  right join fetch hoặc right outer join fetch 9 Upload by Cafeitvn.com Nguyễn Hoàng Anh – nhanh@fit.hcmus.edu.vn – ĐH KHTN - 2012
  10. HQL – cross join  Thực hiện tích cartesian (còn gọi là cross join) – from Sach, DanhMuc – from Sach s, DanhMuc dm – select s,dm from Sach s, DanhMuc dm  Kết quả trả về là một ArrayList  Số lượng phần tử = số lượng danh mục * số lượng sách 10 Upload by Cafeitvn.com Nguyễn Hoàng Anh – nhanh@fit.hcmus.edu.vn – ĐH KHTN - 2012
  11. HQL – cross join 1 String hql = "from Sach s, DanhMuc dm"; 2 Query query = session.createQuery(hql); 3 ArrayList ds = query.list(); 4 for(int i=0; i
  12. HQL – inner join  Số lượng danh mục: 4  Số lượng sách: 10 (đều thuộc danh mục)  inner join – from DanhMuc dm inner join dm.sachs  Kết quả – Số lượng: 10 12 Upload by Cafeitvn.com Nguyễn Hoàng Anh – nhanh@fit.hcmus.edu.vn – ĐH KHTN - 2012
  13. HQL – left join  Số lượng danh mục: 4 (2 danh mục không có sách)  Số lượng sách: 10 (đều thuộc danh mục)  Left join – from DanhMuc dm left join dm.sachs  Kết quả – Số lượng: 12 – 2 danh mục không có sách nào thuộc về 13 Upload by Cafeitvn.com Nguyễn Hoàng Anh – nhanh@fit.hcmus.edu.vn – ĐH KHTN - 2012
  14. HQL – right join  Số lượng danh mục: 4  Số lượng sách: 10 (đều thuộc danh mục)  Right join – from DanhMuc dm right join dm.sachs  Kết quả – Số lượng: 10 14 Upload by Cafeitvn.com Nguyễn Hoàng Anh – nhanh@fit.hcmus.edu.vn – ĐH KHTN - 2012
  15. HQL – left join fetch  Số lượng danh mục: 4 (có  Số lượng sách: 10 (đều thuộc danh mục)  Left join fetch from Sach s left join fetch s.danhMuc  Kết quả – Số lượng: 10 15 Upload by Cafeitvn.com Nguyễn Hoàng Anh – nhanh@fit.hcmus.edu.vn – ĐH KHTN - 2012
  16. HQL – right join fetch  Số lượng danh mục: 4 (có  Số lượng sách: 10 (đều thuộc danh mục)  right join fetch from Sach s right join fetch s.danhMuc  Kết quả – Số lượng: 10 16 Upload by Cafeitvn.com Nguyễn Hoàng Anh – nhanh@fit.hcmus.edu.vn – ĐH KHTN - 2012
  17. HQL - select 1 String hql = "select s.danhMuc from Sach s"; 2 Query query = session.createQuery(hql); 3 List ds=query.list(); 17 Upload by Cafeitvn.com Nguyễn Hoàng Anh – nhanh@fit.hcmus.edu.vn – ĐH KHTN - 2012
  18. HQL - select 1 String hql = "select s.danhMuc.tenDanhMuc from Sach s"; 2 Query query = session.createQuery(hql); 3 List ds=query.list(); 18 Upload by Cafeitvn.com Nguyễn Hoàng Anh – nhanh@fit.hcmus.edu.vn – ĐH KHTN - 2012
  19. HQL - select 1 String h ="select s.maSach, s.tenSach, s.danhMuc from Sach s"; 2 Query query = session.createQuery(h); 3 List ds=query.list(); 4 for(int i=0; i
  20. HQL - select 1 String hql ="select distinct s.danhMuc.tenDanhMuc from 2 Sach s"; 3 Query query = session.createQuery(hql); 4 List ds=query.list(); 20 Upload by Cafeitvn.com Nguyễn Hoàng Anh – nhanh@fit.hcmus.edu.vn – ĐH KHTN - 2012
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2