gpt4 book ai didi

java - 如何用单一方法获得多用途结果?

转载 作者:行者123 更新时间:2023-11-30 22:22:46 24 4
gpt4 key购买 nike

我想进行三种类型的查询:

SELECT * FROM table
SELECT * FROM table WHERE code IN (...)
SELECT * FROM table WHERE code IN (...) AND username = 'xxx'
SELECT * FROM table WHERE username = 'xxx'

我知道我可以根据参数使用“if”语句构建查询,但我不确定它是否正确,例如我可以使用如下的 preparedStatement:

SELECT * FROM table WHERE code IN(?) AND username = ?

但是还有另外一个问题,因为,如何根据参数来避免(code IN(?)) or (AND username)?我知道的唯一方法是使用字符串连接,例如:

if (codes is not null) then
query = query + " WHERE code IN( codes )"

if (username is not null) then
query = query + " AND username = ? "

是否可以使用 mysql 在 preparedStatement 中构建唯一查询?

喜欢:

SELECT * FROM table WHERE if (codes is not null) code IN ( ? ) AND if (username is not null) username = 'xxx'

最佳答案

看起来 where part 是这里的“不常见”因素。您可以为 Where 子句传递一个字符串,如果没有则传递 null。像这样的……

if you want `WHERE`...
String WHERE = "code IN (...)"
doWork(String WHERE);

else
doWork(null);

doWork 会是这样的……

private static void doWork(String WHERE) {
String st = "SELECT * FROM table ";
if(WHERE != null) {
st += WHERE;
.....
}

关于java - 如何用单一方法获得多用途结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36227668/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com