gpt4 book ai didi

java - 替换特殊字符?在具有列表的特定元素的字符串中

转载 作者:行者123 更新时间:2023-12-01 07:35:13 30 4
gpt4 key购买 nike

我有一个字符串,它是一个插入语句,我需要在其中替换特殊字符?到列表中的特定元素。查询字符串是

insert into OPRS_VEHICLE(VEHICLE_ID, DEPOT_ID, SERVICE_TYPE_ID, REGISTRATION_KEY,
REGISTRATION_NO, IS_ACTIVE,CREATED_BY, CREATED_DATE,
MODIFIED_BY, MODIFIED_DATE) values(?,?,?,?,?,?,?,?,?,?)

现在我需要更换每个?具有包含值的列表中的特定元素的字符。

我试过了

int index = query.indexOf("?");
for (int j = 0; j < list.size(); j++) {
formattedQuery = query.replace(query.substring(index, index+1),
list.get(j).toString());
}

我需要更换?与列表的相应值。

编辑

try{
conn.setAutoCommit(false);
if(query != null){
ps = conn.prepareStatement(query);
for (int i = 0; i < myCollection.size(); i++) {
List list = (List) myCollection.get(i);
int count = 1;
for (int j = 0; j < list.size(); j++) {
if(list.get(j) instanceof Timestamp) {
ps.setTimestamp(count, (Timestamp) list.get(j));
} else if(list.get(j) instanceof java.lang.Character) {
ps.setString(count, String.valueOf(list.get(j)));
}
else {
ps.setObject(count, list.get(j));
}
count++;
}
try {
ps.execute();
} catch (Exception e) {


}

如果预准备语句的执行失败,那么我需要调用一种方法,该方法获取整个集合列表并一次插入一个语句并提交。这个怎么做 ? (或者)我的想法是,因为我知道数组的大小,我可以将数组划分为一半大小,然后为此准备语句并插入它?哪一种更好、更安全?这样可以吗?

提前致谢

最佳答案

您拥有的查询字符串实际上是具有动态值的 SQL 语句如何在 JDBC 中表示的示例。 。请参阅 PreparedStatement documentation 中的以下示例通常如何将查询字符串中的 ? 字符替换为适当的值:

PreparedStatement pstmt = con.prepareStatement("UPDATE EMPLOYEES SET SALARY = ? WHERE ID = ?");
pstmt.setBigDecimal(1, 153833.00)
pstmt.setInt(2, 110592)

您也可以看看here Oracle 的 JDBC 基础教程。

关于java - 替换特殊字符?在具有列表的特定元素的字符串中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13030839/

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