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

Làm thế nào để sử dụng các biến Mysql với Hibernate?

Chà, cuối cùng tôi đã sử dụng thủ tục được lưu trữ (vâng, điều tôi không muốn ban đầu) để tạo truy vấn động (tôi không nghĩ là có thể).

Đây là mã của tôi:Quy trình được lưu trữ:

DELIMITER |

DROP PROCEDURE IF EXISTS UpdateRank |

CREATE PROCEDURE UpdateRank(IN shortcut varchar(30))
BEGIN
    SET @rank=0;
    SET @query=CONCAT('UPDATE Rank SET ', shortcut, '[email protected]:[email protected]+1 ORDER BY ', shortcut);     

    PREPARE q1 FROM @query;
    EXECUTE q1;
    DEALLOCATE PREPARE q1;
END;

|
DELIMITER ;

Mẹo là sử dụng hàm CONCAT để tạo động một truy vấn trong thủ tục được lưu trữ.

Sau đó, gọi thủ tục trong hàm hibernate cổ điển:

Query q = em.createNativeQuery("CALL updateRank('lvl')");
q.executeUpdate();


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sử dụng Union All và Order By trong MySQL

  2. php xóa các hàng liên kết khỏi cơ sở dữ liệu mysql

  3. PDO ::bindParam trong một vòng lặp foreach, tất cả các giá trị đang được đặt giống nhau?

  4. tạo cột văn bản làm khóa duy nhất

  5. cách ngăn chặn lỗi này:Cảnh báo:mysql_fetch_assoc () mong đợi tham số 1 là tài nguyên, boolean được cung cấp trong ... trên dòng 11