如何在Java中“优雅地”生成String?
发布时间:2020-12-15 01:59:59 所属栏目:Java 来源:网络整理
导读:我想生成一个字符串,如sql命令: "INSERT INTO xxx VALUES(XXX,XXX,XXX)" 目前我使用StringBuilder和一些String常量,如“INSERT INTO”来连接表名和插入值的输入String参数. 但是,除了性能问题之外,这种简单的连接看起来并不优雅. 有没有其他方法这样做? 在
我想生成一个字符串,如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. 解决方法
你可以使用String.format():
String.format("insert into %s values('%s','%s','%s')","user","user123","pass123","yellow"); 值得注意的是,任何这些“字符串构建”技术都会让您容易受到SQL注入攻击.您应该尽可能使用JDBC参数化查询. 编辑在字符串周围添加引号. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |