sql 语句中格式化,如果加入{}占位符,要替代的是整形变量,而恰好这个整形变量的位数超过4位, MessageFormat.format 会在这个整形变量中默认每隔三位加一个逗号,类似这样:1000,会被格式化成1,000, insert into table1 (a,b,c) values({0},{1},{2}),格式后的sql会变成这样, insert into table1 (a,b,c) values('a',1,000,'ddd'), 后面的values变成4位了, 解决办法,用第