我想生成一个字符串,如sql命令:
"INSERT INTO xxx VALUES(XXX, XXX, XXX)"
目前我使用StringBuilder和一些String常量,如“INSERT INTO”来连接表名和插入值的输入String参数.
但是,除了性能问题之外,这种简单的连接看起来并不优雅.
有没有其他方法这样做?
在我看来,JDBC的预处理语句是这种“命令模板”的一个很好的例子:
PreparedStatement pstmt=connection.createPreparedStatement("INSERT INTO ? VALUES(?,?,?)");
然后你可以设置表名和插入值.
pstmt.setString(1,"tableA");
pstmt.setInt(2, 100);
...
但是,我不能使用预备语句,因为我想要的只是String …
有人给我一些提示,使用java.util.Regex或JavaCC来生成String.
但据我所知,无论选择什么代码优势问题,Java String必须由StringBuilder生成,对吧?