Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带有printf的javastringbuilder。等效字符串格式_Java_String_Stringbuilder_String.format - Fatal编程技术网

带有printf的javastringbuilder。等效字符串格式

带有printf的javastringbuilder。等效字符串格式,java,string,stringbuilder,string.format,Java,String,Stringbuilder,String.format,我正在使用StringBuilder构建一个非常长的查询 StringBuilder sb = new StringBuilder(); sb.append("select * from x where name = %s'"); String.format(sb.toString, "John"); 这样的东西有什么等价物?或者这实际上是正确的方法吗?似乎您正在尝试为SQL构建字符串预处理语句应用于此目的 PreparedStatement preparedStatement =

我正在使用StringBuilder构建一个非常长的查询

StringBuilder sb = new StringBuilder();
sb.append("select * from x where name = %s'");
String.format(sb.toString, "John"); 

这样的东西有什么等价物?或者这实际上是正确的方法吗?

似乎您正在尝试为
SQL
构建字符串<代码>预处理语句应用于此目的

PreparedStatement preparedStatement = 
        connection.prepareStatement("select * from x where name = ?");
preparedStatement.setString(1, "John");
编辑:

如果您使用的是
EntityManager
,则可以使用其等效的
setParameter

Query q = 
 entityManager.createNativeQuery("select * from x where name = ?", MyClass.class);
q.setParameter(1, "John");

似乎您正在尝试为
SQL
构建字符串<代码>预处理语句应用于此目的

PreparedStatement preparedStatement = 
        connection.prepareStatement("select * from x where name = ?");
preparedStatement.setString(1, "John");
编辑:

如果您使用的是
EntityManager
,则可以使用其等效的
setParameter

Query q = 
 entityManager.createNativeQuery("select * from x where name = ?", MyClass.class);
q.setParameter(1, "John");

这可能对你有帮助。其中
con
是连接

    PreparedStatement preStatement = con.prepareStatement("select * from x where name = ?");
    preStatement.setString(1, "John");

这可能对你有帮助。其中
con
是连接

    PreparedStatement preStatement = con.prepareStatement("select * from x where name = ?");
    preStatement.setString(1, "John");

如果您没有使用SQL,对于一般的格式化追加,可以使用
Formattor
format()
方法

e、 g

/**
*生成还包含数据列表的字符串。
*
*@返回
*/
公共字符串toString WithDataList(){
List=toList();
StringBuilder sb=新的StringBuilder(getClass().getName());
格式化程序fm=新格式化程序(sb);
sb.append(toString()).append(System.lineSeparator());//基本信息,
//价值清单,
如果(大小>0){
sb.追加(“list=”);
对于(int i=0;i
如果您没有使用SQL,对于一般的格式化追加,可以使用
格式化程序
格式化()方法

e、 g

/**
*生成还包含数据列表的字符串。
*
*@返回
*/
公共字符串toString WithDataList(){
List=toList();
StringBuilder sb=新的StringBuilder(getClass().getName());
格式化程序fm=新格式化程序(sb);
sb.append(toString()).append(System.lineSeparator());//基本信息,
//价值清单,
如果(大小>0){
sb.追加(“list=”);
对于(int i=0;i
同样的答案,但我太激动了quick@nelsonjuan在这里添加什么?@Ruchira我实际上是在使用javax.persistence.EntityManager来管理数据库。我正在准备em.createNativeQuery(sb.toString(),SomeClass.class)的字符串。getResultList()@nelsonjuan您可以使用相同的答案为
EntityManager的
本机查询设置参数,但是我太quick@nelsonjuan在这里添加什么?@Ruchira我实际上是在使用javax.persistence.EntityManager来管理数据库。我正在准备em.createNativeQuery(sb.toString(),SomeClass.class)的字符串。getResultList()@nelsonjuan您可以使用
setParameter
EntityManager的
本机查询设置参数