Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Tôi có cần một đối tượng Dịch vụ không?

Lý do lớn nhất mà tôi có xu hướng hướng tới việc có một lớp dịch vụ là vì hai lý do sau ...

  1. Đánh dấu phương thức là @Transactional để tất cả các yêu cầu DAO bên trong phương thức này diễn ra trong một giao dịch duy nhất.

  2. Tôi có thể tăng mức độ tách biệt mối quan tâm khỏi DAO và các vai trò của người dùng. Tôi có thể đánh dấu các phương thức là yêu cầu một số vai trò người dùng nhất định và như vậy, nó thực sự phù hợp với Spring Security.

Bạn chỉ có thể gọi một DAO từ bộ điều khiển, nhưng nó khiến bạn bị mắc kẹt nếu bạn muốn mở rộng sau này. Để có được kết nối, bạn có thể sử dụng đánh dấu dịch vụ là @Transactional và DAO làm @Repository và Spring sẽ xử lý toàn bộ việc lấy đối tượng phiên cho bạn và tiêm, v.v.

Tôi có xu hướng nghĩ (có thể không chính xác) về lớp dịch vụ như một mặt tiền được truy cập, có thể là từ dịch vụ web hoặc bộ điều khiển hoặc bất cứ điều gì, nó luôn tách biệt.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. “Lỗi nghiêm trọng kết nối nội bộ” khi thực thi một quy trình được lưu trữ được biên dịch hoàn toàn trong SQL Server 2019 (Lỗi đã biết)

  2. Cách sử dụng câu lệnh IF / ELSE để cập nhật hoặc tạo mục nhập nút xml mới trong Sql

  3. Phạm vi ngày nằm giữa hai ngày trong truy vấn LINQ

  4. Kích hoạt để ngăn Chèn cho dữ liệu trùng lặp của hai cột

  5. @@ IDENTITY, SCOPE_IDENTITY (), OUTPUT và các phương pháp truy xuất danh tính cuối cùng khác