gpt4 book ai didi

java - java中的安全动态sql查询可以更改.createNativeQuery

转载 作者:行者123 更新时间:2023-12-02 02:22:40 31 4
gpt4 key购买 nike

我有一个使用 EntityManager.createNativeQuery 的应用程序。我们的质量门(Sonar)对此不太满意,并且由于 SQL 注入(inject)的风险而向我显示了一个严重错误。有没有一种“安全”的方法来在java中创建动态sql查询?

我当前的代码如下:

return entityManager.createNativeQuery(stringBuilder.toString(), MyClass.class).getResultList();

最佳答案

要防止 SQL 注入(inject),您可以使用参数绑定(bind)。

示例:

Query query = entityManager.createNativeQuery(
"SELECT title, author FROM books WHERE genre = ?1");
query.setParameter(1, "mystery");

您可以找到更多示例here .

关于java - java中的安全动态sql查询可以更改.createNativeQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48286219/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com