【发布时间】:2015-05-08 16:42:43
【问题描述】:
我的应用程序根据传入的数据构建动态插入语句。
例如,它动态构建插入查询,例如:
insert into employees (name, age) values ('Tim', 12)
(我使用sqlbuilder 动态生成上述查询。我无法控制哪些列/表将构成插入语句 - 它取决于传入的数据。例如,下一条语句可能是喜欢:insert into employees (building, salary) values ('Green tower', 9999))
我不想使用上面的语句,因为它是开放的 sql 注入。
我需要将其转换为 PreparedStatement,如下所示:
PreparedStatement preparedStatement = dbConnection.prepareStatement(insertSQL);
preparedStatement.setString(1, "Tim");
preparedStatement.setInt(2, 99);
有没有图书馆可以为我做这件事?
【问题讨论】:
-
我感觉您可能会从使用 JPA 中受益。
标签: java sql jdbc prepared-statement sql-injection