sql >> Database >  >> RDS >> Mysql

Hoe Mysql-variabelen te gebruiken met Hibernate?

Nou, ik gebruik eindelijk de opgeslagen procedure (ja, wat ik in eerste instantie niet wil) om een ​​dynamische query te maken (ik denk niet dat het mogelijk was).

Hier is mijn code:De opgeslagen procedure:

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 ;

De tip is het gebruik van de CONCAT-functie om dynamisch een query te maken in de opgeslagen procedure.

Roep vervolgens de procedure aan in de klassieke slaapstandfunctie:

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


  1. MySQL-kolom 'Tijdstempel bijwerken' - Trigger

  2. Het hashen van het wachtwoord met behulp van crypt werkt niet bij het inloggen, het geeft een onjuist wachtwoord weer

  3. Database-e-mail configureren in SQL Server

  4. lopende balans berekenen in oracle-query