public SelectBuilder and(String columnName, BigDecimal value) { return and(columnName, "=", Parameter.bigDecimalParam(value)); }
static private String buildSql(List<Parameter> parameters, String tableName) { String fieldNames = parameters.stream() .map(it -> it.getName()) .collect(Collectors.joining(", ")); String valuePlaceholders = parameters.stream() .map(it -> it.getRawSqlRepresentation()) .collect(Collectors.joining(",")); return "INSERT INTO " + tableName + " ( " + fieldNames + " ) VALUES " + " ( " + valuePlaceholders + " )"; } }
void injectValuesTo(PreparedStatement preparedStatement) throws SQLException { int parameterNumber = 1; for (Parameter parameter : orderedParameters) { parameter.injectValuesTo(preparedStatement,parameterNumber); parameterNumber++; } }
private void applyQueryParams() { queryParams.changedProperty().ifPresent(changedProperty -> { selectBuilder.and(SNAPSHOT_CHANGED, "like", stringParam("%\"" + queryParams.changedProperty().get() +"\"%")); }); queryParams.from().ifPresent(from -> { selectBuilder.and(COMMIT_COMMIT_DATE, ">=", localDateTimeParam(from)); }); queryParams.to().ifPresent(to -> { selectBuilder.and(COMMIT_COMMIT_DATE, "<=", localDateTimeParam(to)); }); queryParams.toCommitId().ifPresent(commitId -> { selectBuilder.and(COMMIT_COMMIT_ID, "<=", bigDecimalParam(commitId.valueAsNumber())); }); if (queryParams.commitIds().size() > 0) { selectBuilder.and(COMMIT_COMMIT_ID + " IN (" + ToStringBuilder.join( queryParams.commitIds().stream().map(c -> c.valueAsNumber()).collect(toList())) + ")"); } queryParams.version().ifPresent(ver -> selectBuilder.and(SNAPSHOT_VERSION, ver)); queryParams.author().ifPresent(author -> selectBuilder.and(COMMIT_AUTHOR, author)); if (queryParams.commitProperties().size() > 0) { for (Map.Entry<String, String> commitProperty : queryParams.commitProperties().entrySet()) { addCommitPropertyFilter(selectBuilder, commitProperty.getKey(), commitProperty.getValue()); } } queryParams.snapshotType().ifPresent(snapshotType -> selectBuilder.and(SNAPSHOT_TYPE, snapshotType.name())); }
public SelectBuilder and(String columnName, String value) { return and(columnName, "=", stringParam(value)); }
private Parameter findParameter(String name, List<Parameter> params) { return params.stream().filter(it -> it.getName().equals(name)).findFirst().orElseThrow( () -> new JaversException(JaversExceptionCode.RUNTIME_EXCEPTION, "parameter '"+name+"' not found in raw SQL '"+rawSQL+"'") ); } }
private void applyQueryParams() { queryParams.changedProperty().ifPresent(changedProperty -> { selectBuilder.and(SNAPSHOT_CHANGED, "like", stringParam("%\"" + queryParams.changedProperty().get() +"\"%")); }); queryParams.from().ifPresent(from -> { selectBuilder.and(COMMIT_COMMIT_DATE, ">=", localDateTimeParam(from)); }); queryParams.to().ifPresent(to -> { selectBuilder.and(COMMIT_COMMIT_DATE, "<=", localDateTimeParam(to)); }); queryParams.toCommitId().ifPresent(commitId -> { selectBuilder.and(COMMIT_COMMIT_ID, "<=", bigDecimalParam(commitId.valueAsNumber())); }); if (queryParams.commitIds().size() > 0) { selectBuilder.and(COMMIT_COMMIT_ID + " IN (" + ToStringBuilder.join( queryParams.commitIds().stream().map(c -> c.valueAsNumber()).collect(toList())) + ")"); } queryParams.version().ifPresent(ver -> selectBuilder.and(SNAPSHOT_VERSION, ver)); queryParams.author().ifPresent(author -> selectBuilder.and(COMMIT_AUTHOR, author)); if (queryParams.commitProperties().size() > 0) { for (Map.Entry<String, String> commitProperty : queryParams.commitProperties().entrySet()) { addCommitPropertyFilter(selectBuilder, commitProperty.getKey(), commitProperty.getValue()); } } queryParams.snapshotType().ifPresent(snapshotType -> selectBuilder.and(SNAPSHOT_TYPE, snapshotType.name())); }
private void addCommitPropertyFilter(SelectBuilder selectBuilder, String propertyName, String propertyValue) { selectBuilder.and("EXISTS (" + " SELECT * FROM " + commitPropertyTableName() + " WHERE " + COMMIT_PROPERTY_COMMIT_FK + " = " + COMMIT_PK + " AND " + COMMIT_PROPERTY_NAME + " = ?" + " AND " + COMMIT_PROPERTY_VALUE + " = ?)", stringParam(propertyName), stringParam(propertyValue)); }
private Parameter findParameter(String name, List<Parameter> params) { return params.stream().filter(it -> it.getName().equals(name)).findFirst().orElseThrow( () -> new JaversException(JaversExceptionCode.RUNTIME_EXCEPTION, "parameter '"+name+"' not found in raw SQL '"+rawSQL+"'") ); } }
static private String buildSql(List<Parameter> parameters, String tableName) { String fieldNames = parameters.stream() .map(it -> it.getName()) .collect(Collectors.joining(", ")); String valuePlaceholders = parameters.stream() .map(it -> it.getRawSqlRepresentation()) .collect(Collectors.joining(",")); return "INSERT INTO " + tableName + " ( " + fieldNames + " ) VALUES " + " ( " + valuePlaceholders + " )"; } }
void addVoOwnerEntityFilter(String ownerTypeName, String fragment) { selectBuilder.and("o." + GLOBAL_ID_TYPE_NAME + " = ?", Parameter.stringParam(ownerTypeName)) .and("g." + GLOBAL_ID_FRAGMENT + " = ?", Parameter.stringParam(fragment)); }
void injectValuesTo(PreparedStatement preparedStatement) throws SQLException { int parameterNumber = 1; for (Parameter parameter : orderedParameters) { parameter.injectValuesTo(preparedStatement,parameterNumber); parameterNumber++; } }
public SelectBuilder and(String columnName, BigDecimal value) { return and(columnName, "=", Parameter.bigDecimalParam(value)); }
private void addCommitPropertyFilter(SelectBuilder selectBuilder, String propertyName, String propertyValue) { selectBuilder.and("EXISTS (" + " SELECT * FROM " + commitPropertyTableName() + " WHERE " + COMMIT_PROPERTY_COMMIT_FK + " = " + COMMIT_PK + " AND " + COMMIT_PROPERTY_NAME + " = ?" + " AND " + COMMIT_PROPERTY_VALUE + " = ?)", stringParam(propertyName), stringParam(propertyValue)); }
@Override void limit(SelectBuilder query, long limit, long offset) { if (limit == 0) { return; } if (offset == 0){ query.wrap("SELECT a.*, rownum FROM (", ") a WHERE rownum <= ?", longParam(limit)); } else { long lowRownum = offset + 1; long highRownum = offset + limit; query.wrap( "select b.* from (SELECT a.*, rownum r__ FROM (", ") a WHERE rownum <= ? ) b where b.r__ >= ?", longParam(highRownum), longParam(lowRownum)); } } }
void addVoOwnerEntityFilter(String ownerTypeName, String fragment) { selectBuilder.and("o." + GLOBAL_ID_TYPE_NAME + " = ?", Parameter.stringParam(ownerTypeName)) .and("g." + GLOBAL_ID_FRAGMENT + " = ?", Parameter.stringParam(fragment)); }