IT序号网

java之SpringMVC、MySQL动态查询

softidea 2023年08月23日 编程语言 26 0

我如何使用 URL 中的所有参数在 Spring MVC 中进行一个动态查询? 例如:/example?parameter1=test&parameter2=apple;fruit&parameter3=Park

对于该链接,我希望有这样的查询:SELECT * FROM news WHERE parameter1 = test AND parameter2 = apple AND fruits AND parameter3 = Park

同时如果我有这样的 URL /example?parameter1=test&parameter2=apple

我不想在诸如 SELECT * FROM news WHERE parameter1 = test AND parameter2 = apple;

这样的查询中创建新查询

更确切地说,我如何创建一个动态查询如何自动更改来自 URL 的参数的功能?

请您参考如下方法:

将动态数据传递给查询不是一个好主意,这肯定会引起 SQL 注入(inject)攻击。

您可以在 Spring JDBC 中使用 BeanPropRowMapper ( http://www.mkyong.com/spring/spring-jdbctemplate-querying-examples/ ) 和准备语句类型的方法(命名参数 http://www.studytrails.com/frameworks/spring/spring-jdbc-template-named-params.jsp )来实现类似但类型化的查询。 (你的 Java Bean getter 和 setter 被自动调用,查询从中更新)

不要写动态查询(保持严格类型化)


评论关闭
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!