首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用多个可能的"where“语句用java查询mysql

使用多个可能的"where“语句用java查询mysql
EN

Stack Overflow用户
提问于 2018-10-16 08:10:56
回答 1查看 75关注 0票数 1

我正在努力寻找一个很好的解决方案,一个电影过滤系统建立在java和mysql数据库。用户应该能够根据许多属性过滤他们希望看的电影,例如:导演、演员、长度、流派、年份……。总共有11个字段可用于过滤查询。

问题是这些字段中的一些可以(并且很可能会)留空。例如,也许用户只想根据某个流派、导演和长度来过滤数据。或者他们只想根据prodution studio进行过滤,而不关心其他过滤选项。

我已经建立了到服务器的连接,问题出在创建我将在statement.executeQuery(SQL_String)中使用的"SQL_String“。

假设我只想筛选一个字段。然后我就知道我可以写

String field = //user input (for example: actor)
String filter = //user input (for example: 'tom cruise')
String SQL_String = "SELECT * FROM Movies WHERE "+field + "=" +filter

但是,如果我想让用户根据几个(或零个)字段进行过滤,那么我不知道如何编写代码。

一些示例查询可能是:

"SELECT * FROM Movies WHERE (director = 'steven spielberg' AND genre = 'action' AND length >100)"

"SELECT * FROM Movies WHERE (type = 'tv-series' AND actor = 'bob odenkirk')"

因此,用户可以指定要过滤的字段(如果有),我需要想出一个java代码来考虑这些字段并构造一个查询字符串。

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52826288

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档