选择sql中具有where条件的所有数据?

Bor*_*lis 0 java sql

我有这个查询,我在Java中运行.

select book from com where genre=?;
Run Code Online (Sandbox Code Playgroud)

genre动态设置参数.有没有办法有时设置参数,以便选择所有数据?

das*_*ght 6

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

SELECT book FROM com WHERE genre=? OR 1=?
Run Code Online (Sandbox Code Playgroud)

当您将第二个参数设置0为时,将使用按类型过滤,但是当您将其设置为时1,将返回所有内容.

如果您愿意切换到使用命名的JDBC参数,可以使用一个参数重写,并使用null表示"选择所有内容":

SELECT book FROM com WHERE genre=:genre_param OR :genre_param is null
Run Code Online (Sandbox Code Playgroud)