sql >> Databasteknik >  >> RDS >> Mysql

Hur använder man Mysql-variabler med Hibernate?

Nåväl, jag använder äntligen lagrad procedur (ja, vad jag inte vill ha initialt) för att skapa dynamiska frågor (jag tror inte att det var möjligt).

Här är min kod:Den lagrade proceduren:

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 ;

Tipset är att använda CONCAT-funktionen för att dynamiskt skapa en fråga i den lagrade proceduren.

Anropa sedan proceduren i klassisk viloläge:

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


  1. Hur ringer jag Java-kod från MySQL?

  2. Hur man uppdaterar data i en anpassad dialogruta

  3. Hur kan jag infoga JSON-objekt i Postgres med Java prepareStatement?

  4. Ändra datumformat (i DB eller utdata) till dd/mm/åååå - PHP MySQL