package com.hy; import java.text.MessageFormat; public class Test3 { public static void main(String[] args) { String table="Delivery_history"; String raw=" insert into {0} select * from {1} "; Object[] arr={"HYBK_"+table,"HY_"+table,}; String sql=MessageFormat.format(raw, arr);// MessageFormat拼接字符串 System.out.println(sql); } }
输出:
insert into HYBK_Delivery_history select * from HY_Delivery_history
注意mysql format函数对数字类型格式化会自动增加逗号,因此把数字事先转字符串是必要的举措。
另外一点需要注意的是,如果要输出单引号,如组合往表中插值的字符串,需要两个单引号配合,如下:
index=10001; String name="M"+index; int age=j % 100; String raw=" INTO firsttb(NAME, age,createdtime) values(''{0}'',''{1}'',sysdate) "; Object[] arr={name,age}; String particialSql=MessageFormat.format(raw, arr);
到此,一个便利的方法,两个注意点,就差不多了。
--END-- 2019年10月12日12:01:26