我想动态创建 SELECT 查询。想要动态地向 SELECT 查询添加列。如果有什么方法可以通过仅使用普通的JDBC来做到这一点。
我尝试通过检查非空值来使用 Table Bean 类创建相同的内容,豆豆 = 新豆();bean.setAttribute1("AAA");
然后在 DN 管理器类中
if (bean.attribute1 != null) {
append("COLUMN_1")
}
同样,从结果集加载时
if (bean.attribute1 != null) {
rs.getString("COLUMN_1");
}
但是这个解决方案涉及很多 if else 条件。假设如果 Bean 中存在 50 个属性,则意味着 100 个 if 条件50 用于创建查询,50 用于从结果集加载查询。
有人可以建议我一个更简单的解决方案吗?
java.sql.DatabaseMetadata可能有助于动态生成有效的查询(例如插入,按主键更新)。java.sql.ResultSetMetadata 可用于查询自检(选择)。