java - 用where条件选择sql中的所有数据?

标签 java sql

我有一个在 Java 中运行的查询。

select book from com where genre=?;

我动态设置了genre参数。有没有办法有时设置参数以便选择所有数据?

最佳答案

通常的技巧是设置一个单独的参数来选择所有内容:

SELECT book FROM com WHERE genre=? OR 1=?

当您将第二个参数设置为0时,将使用按流派进行过滤,但当您将其设置为1时,将返回所有内容。

如果您愿意改用named JDBC parameters ,您可以用一个参数重写,并使用 null 表示“选择所有内容”:

SELECT book FROM com WHERE genre=:genre_param OR :genre_param is null

关于java - 用where条件选择sql中的所有数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10919401/

相关文章:

java - 为什么 JPanel 中的文本在某个点之后被剪切?

java - 使用 Thymeleaf 和 Spring 动态链接到图像

java - spring hibernate 5 错误已经值 [org.springframework.orm.hibernate5.SessionHolder for key bind to thread

sql - .xml 文件是否有字符限制?

java - 使用 jsoup 获取表跨度类内容

java - 为什么在 Java 中调用通用重写函数会产生 2 个堆栈帧

mysql - 如何迭代结果集并执行每个语句? (MySQL)

sql - 在不使用唯一列或键列的情况下定义两个 SQL Server 表(父列到子列)之间的关系

mysql - 对维度进行分组的 SQL 场景

sql - 不支持表/列名称中的方括号?