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

Kết nối cơ sở dữ liệu an toàn chuỗi Java

Tôi không nghĩ rằng làm cho các kết nối cơ sở dữ liệu an toàn theo luồng là một thực tế phổ biến. Thông thường những gì bạn muốn là:

  • Tuần tự hóa quyền truy cập vào một số phần của servlet của bạn để không có nhiều hơn một mã thực thi servlet tại một thời điểm (ví dụ:triển khai SingleThreadModel giao diện).
  • Khóa một bảng / trang / hàng bảng cụ thể để bạn có thể thao tác trên một số bộ cụ thể (bằng cách thay đổi mức cách ly cơ sở dữ liệu).
  • Sử dụng khóa lạc quan để phát hiện các hàng đã sửa đổi trong bảng (sử dụng một số thuộc tính tham chiếu của bảng để kiểm tra xem phiên bản hiện tại có giống với phiên bản trong bảng hay không).

AFAIK, cách sử dụng thông thường của ThreadLocal<Connection> là lưu trữ một kết nối cơ sở dữ liệu duy nhất cho mỗi luồng, để kết nối tương tự có thể được sử dụng trong các phương thức khác nhau trong logic nghiệp vụ của bạn mà không cần chuyển nó dưới dạng tham số mỗi lần. Bởi vì việc triển khai vùng chứa servlet phổ biến sử dụng một luồng để thực hiện một yêu cầu HTTP, nên hai yêu cầu khác nhau được đảm bảo sử dụng hai kết nối cơ sở dữ liệu khác nhau.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Chèn hàng mới với dữ liệu được tính toán từ các hàng khác

  2. Cách cài đặt và cấu hình mysql 5.6.16 trong Windows 7

  3. Độ dài chỉ mục varchar của MySQL

  4. Lỗi MySql xảy ra qua đêm - Gói cuối cùng được gửi đến máy chủ là 0 ms trước

  5. Tôi cần auto_increment một trường trong MySQL không phải là khóa chính