带有动态参数的JDBC Select查询

时间:2020-09-14 14:27:29

标签: java mysql jdbc

我与这样的MySQL数据库有连接

preparedStatement = conn.prepareStatement("Select name, id FROM club WHERE ? > 0")
preparedStatement.setString(1, obj.getVisit);

我收到错误MySQL server version for the right syntax to use near 'WHERE 'visit' > 0 ' at line 1.

如何为此输入动态列名?

EDIT 为此,我有4个不同的列名,因此我需要它是动态的。 *

2 个答案:

答案 0 :(得分:0)

实现此目的的唯一方法是动态填充查询字符串。

/bin/bash

首先要防止这种情况的发生是为了防止SQL注入,因此默认情况下会引用任何字符串参数值。

答案 1 :(得分:0)

为什么不将语句构建为字符串?

String column = obj.getVisit()// get column you want to query 
String query = String.format("Select name, id FROM club WHERE %s > 0", column);
preparedStatement = conn.prepareStatement(query)
相关问题