gpt4 book ai didi

java - 将参数动态设置为 JDBC 中的准备语句

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:36:05 24 4
gpt4 key购买 nike

我有一个适用于所有 DAO 的公共(public)类,我们将在其中读取查询并执行它们,如下所示。我将从 DAO 向此类发送参数。

Connection connection = Queries.getConnection();
String query = Queries.getQuery(queryName);//Queries i will get from xml
PreparedStatement preparedStatement = connection.prepareStatement(query);

在 JDBC 中为准备好的语句动态设置参数的最佳方法是什么。我相信,我们在 JDBC 中没有命名参数概念,就像在 spring JDBC 中那样。我们项目中只是简单的JDBC。

最佳答案

这样写:

public static int mapParams(PreparedStatement ps, Object... args) throws SQLException {
int i = 1;
for (Object arg : args) {
if (arg instanceof Date) {
ps.setTimestamp(i++, new Timestamp(((Date) arg).getTime()));
} else if (arg instanceof Integer) {
ps.setInt(i++, (Integer) arg);
} else if (arg instanceof Long) {
ps.setLong(i++, (Long) arg);
} else if (arg instanceof Double) {
ps.setDouble(i++, (Double) arg);
} else if (arg instanceof Float) {
ps.setFloat(i++, (Float) arg);
} else {
ps.setString(i++, (String) arg);
}
}
}
}

在查询中只需使用“?”需要设置参数的地方。

我知道这是老派代码,但只是举一些简单的例子...

关于java - 将参数动态设置为 JDBC 中的准备语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11777103/

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