1. #Traitez les données entrantes comme une chaîne et ajoutez des guillemets doubles aux données entrantes automatiquement. Par exemple : trier par #user_id#, si la valeur transmise est 111, alors la valeur analysée dans SQL est triée par "111". Si la valeur transmise est id, le SQL analysé est trié par "id". 🎜>
2. $ Affichez directement les données entrantes et générez-les en SQL. Par exemple : order by $user_id$, si la valeur transmise est 111, alors la valeur analysée dans SQL est order by user_id. Si la valeur transmise est id, le sql analysé est ordonné par id. 3. #Method peut empêcher l'injection SQL dans une large mesure. 4. La méthode $ ne peut pas empêcher l'injection SQL. 5. La méthode $ est généralement utilisée pour transmettre des objets de base de données, tels que des noms de tables 6. En général, n'utilisez pas $ si vous pouvez utiliser #.<.>Tri MyBatis Lorsque vous utilisez l'ordre par paramètres dynamiques, vous devez faire attention à l'utilisation de $ au lieu du remplacement de chaîne #
Par défaut, l'utilisation de la syntaxe de format #{} entraînera MyBatis. pour créer des attributs d'instruction préparée et définir une valeur sûre (telle que ?) par rapport à celle-ci. C'est sûr, rapide et préféré, parfois vous souhaitez simplement insérer une chaîne inchangée directement dans l'instruction SQL. Par exemple, comme ORDER BY, vous pouvez l'utiliser comme ceci : ORDER BY ${columnName}
Ici, MyBatis ne modifiera ni n'échappera la chaîne.
Important : Il est dangereux d'accepter la sortie de l'utilisateur et de la fournir sous forme de chaîne immuable dans l'instruction. Cela conduit à des attaques potentielles par injection SQL, vous ne devez donc pas autoriser les utilisateurs à saisir ces champs, ni généralement à y échapper et à les vérifier vous-même.
Ce qui précède est l'intégralité du contenu de la brève discussion de l'éditeur sur la différence entre # et $ dans mybatis. J'espère que tout le monde soutiendra le site Web PHP chinois ~
Plus de brève discussion sur la différence entre. # et $ dans mybatis Pour des articles connexes sur la différence entre # et $, veuillez faire attention au site Web PHP chinois !