1.获取到以下信息 String originalSql = SELECT * FROM table_name WHERE 1 = 1 AND bbbbb = ? AND aaaa = ? ORDER BY create_time DESC Map<String, Object> parameters = new HashMap<>(); parameters.put("aaaa", "3333"); parameters.put("bbbbb", "44444"); 2.如何将parameters中的值对originalSql中的字段后面的问号进行一一对应的替换
时间: 2024-04-12 11:27:27 浏览: 14
你可以使用`String.format()`方法来替换原始SQL字符串中的问号。首先,你需要获取parameters中的键值对,然后按照原始SQL中字段的顺序进行一一对应的替换。
以下是一个示例代码:
```java
String originalSql = "SELECT * FROM table_name WHERE 1 = 1 AND bbbbb = ? AND aaaa = ? ORDER BY create_time DESC";
Map<String, Object> parameters = new HashMap<>();
parameters.put("aaaa", "3333");
parameters.put("bbbbb", "44444");
List<Object> values = new ArrayList<>(); // 用于存储参数值的顺序
String replacedSql = originalSql;
for (Map.Entry<String, Object> entry : parameters.entrySet()) {
String key = entry.getKey();
Object value = entry.getValue();
// 替换问号为具体的参数值
replacedSql = replacedSql.replaceFirst("\\?", String.valueOf(value));
values.add(value);
}
System.out.println("Replaced SQL: " + replacedSql);
System.out.println("Parameter values: " + values);
```
在这个例子中,我们使用`replaceFirst()`方法将原始SQL字符串中的第一个问号替换为参数值。我们还通过`values`列表保存了参数值的顺序。你可以根据需要进行修改,比如将参数值添加到`PreparedStatement`中执行SQL语句。
请注意,这个示例假设原始SQL中的问号是按照参数顺序出现的,如果SQL中存在其他问号,需要根据具体情况进行处理。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)