La vulnérabilité à l'injection SQL tombe entre les mains des personnes qui écrivent le code. Les modèles JDBC fournissent un moyen de gérer la connexion avec la base de données et ne vous protègent pas nécessairement de l'injection SQL. Vous êtes toujours plus que capable d'écrire du code minable avec un modèle JDBC vulnérable à l'injection SQL.
Modifier Pour résoudre le problème de mise à jour de votre question. Vous pouvez le faire, il existe une méthode simple query dans le modèle JDBC, mais cela rendrait vulnérable à l'injection SQL. La réponse simple: toujours utiliser les instructions préparées. La seule fois où vous pouvez éviter de les utiliser en toute sécurité est si vous n'incluez aucune entrée dans la requête de l'utilisateur. Cependant, vous êtes de loin préférable d'utiliser une déclaration préparée, même dans ces cas, au cas où votre hypothèse serait incorrecte ou changerait dans le futur. Toujours, toujours, toujours utiliser des déclarations préparées. Il y a également des avantages de performance à les utiliser car le moteur SQL peut mettre en cache l'instruction compilée pour une utilisation ultérieure, plutôt que d'avoir à recompiler l'instruction SQL à chaque fois.
Standard JDBC n'est pas vulnérable à l'injection SQL. La mauvaise programmation est. Le printemps ne fera aucune différence de toute façon. Aussi, 'JdbcTemplate' * est * JDBC standard, juste avec une interface légèrement plus agréable. – skaffman
J'ai projet et je veux montrer que l'utilisation de JDBC avec Spring pourrait conduire à l'injection sql. Il est possible de faire cela avec le printemps et le standard jdbc (je veux dire sans utiliser l'état préparé, c'est l'échantillon jdbc) avec le ressort. – user813056
S'il vous plaît ne posez pas la même question à plusieurs reprises. Cette question est seulement deux heures et vieux demandant la même chose une heure plus tard n'est pas considéré comme acceptable. Si vous avez quelque chose à ajouter, ajoutez à cette question. Merci. – Kev