哎,你打单引号,不就是字符串了么?当然是这样了
这样的啊
String sql = String.format ("insert into 点餐('点餐菜号','点餐桌号','负责员工','点餐时间') values ('%1s','%1s','%1s','%1s')", "x", "y", "z", "d");
System.out.println (sql);
占位符完整格式为: %[index$][标识]*[最小宽度][.精度]转换符 。
针对不同数据类型的格式化,占位符的格式将有所裁剪。
% ,占位符的其实字符,若要在占位符内部使用%,则需要写成 %% 。
[index$] ,位置索引从1开始计算,用于指定对索引相应的实参进行格式化并替换掉该占位符。
[标识] ,用于增强格式化能力,可同时使用多个 [标识] ,但某些标识是不能同时使用的。
[最小宽度] ,用于设置格式化后的字符串最小长度,若使用 [最小宽度] 而无设置 [标识] ,那么当字符串长度小于最小宽度时,则以左边补空格的方式凑够最小宽度。
[.精度] ,对于浮点数类型格式化使用,设置保留小数点后多少位。
转换符 ,用于指定格式化的样式,和限制对应入参的数据类型。
表名不要用中文啊。。。。。
怎么不用prepareStatement写法呢 而且你写完之后没试着把 sql输出下验证下是否符合要求吗