我想创建SQL更新查询。在这里,我创建请求的SET部分:
String placeholders = "{0} = {1}";
StringBuilder newvalues = new StringBuilder();
for( String key : fields.keySet() ) {
newvalues.append(MessageFormat.format(placeholders, key, fields.get(key)));
}
此处字段是Map对象。 SET中所有值都没有''括号:
的问题SET column1 = value1, column2 = value2
值可以像'1.234.2344'。这就是我需要以某种方式添加到占位符的原因。但是这样做:
String placeholders = "{0} = '{1}'";
或
String placeholders = "{0} = \'{1}\'";
不会在字符串中添加''。相反, format 函数会保留{1}((( 如何将''添加到占位符模板,以便格式化格式化)
答案 0 :(得分:0)
来自java doc MessageFormat java doc:
在String中,一对单引号可用于引用除单引号之外的任意字符。例如,模式字符串“'{0}'”表示字符串“{0}”,而不是FormatElement。单引号本身必须用加倍的单引号''
表示
所以你需要做
String placeholders = "{0} = ''{1}''";