List of usage examples for org.apache.commons.lang3 StringUtils repeat
public static String repeat(final String str, final String separator, final int repeat)
Repeat a String repeat times to form a new String, with a String separator injected each time.
From source file:org.linqs.psl.database.rdbms.driver.H2DatabaseDriver.java
@Override public String getUpsert(String tableName, String[] columns, String[] keyColumns) { // H2 uses a "MERGE" syntax and requires a specified key. List<String> sql = new ArrayList<String>(); sql.add("MERGE INTO " + tableName + ""); sql.add(" (" + StringUtils.join(columns, ", ") + ")"); sql.add("KEY"); sql.add(" (" + StringUtils.join(keyColumns, ", ") + ")"); sql.add("VALUES"); sql.add(" (" + StringUtils.repeat("?", ", ", columns.length) + ")"); return StringUtils.join(sql, "\n"); }
From source file:org.linqs.psl.database.rdbms.RDBMSInserter.java
private String createMultiInsert() { List<String> columns = new ArrayList<String>(); columns.add(PredicateInfo.PARTITION_COLUMN_NAME); columns.add(PredicateInfo.VALUE_COLUMN_NAME); columns.addAll(predicateInfo.argumentColumns()); String placeholders = StringUtils.repeat("?", ", ", columns.size()); List<String> multiInsert = new ArrayList<String>(); multiInsert.add("INSERT INTO " + predicateInfo.tableName()); multiInsert.add(" (" + StringUtils.join(columns, ", ") + ")"); multiInsert.add("VALUES"); multiInsert.add(" " + StringUtils.repeat("(" + placeholders + ")", ", ", DEFAULT_MULTIROW_COUNT)); return StringUtils.join(multiInsert, "\n"); }
From source file:org.sakaiproject.tool.assessment.facade.ItemHashUtil.java
private List<ItemDataIfc> itemsById(List<Long> itemIds, Map<String, String> hqlQueries, Session session) { if (itemIds == null || itemIds.isEmpty()) { return new ArrayList<>(0); }// w w w.j a v a2 s. c o m final String paramPlaceholders = StringUtils.repeat("?", ",", itemIds.size()); final Query query = session .createQuery(hqlQueries.get(ITEMS_BY_ID_HQL).replace(ID_PARAMS_PLACEHOLDER, paramPlaceholders)); final AtomicInteger position = new AtomicInteger(0); itemIds.forEach(id -> query.setParameter(position.getAndIncrement(), id)); return query.list(); }