[Java]用 MessageFormat 拼接组合字符串

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

原文地址:https://www.cnblogs.com/heyang78/p/11655687.html